如何让LazyComboBox从Vaadin的另一个页面中选择项目?

如何让LazyComboBox从Vaadin的另一个页面中选择项目?,combobox,lazy-loading,vaadin,vaadin7,vaadin4spring,Combobox,Lazy Loading,Vaadin,Vaadin7,Vaadin4spring,我使用的是Vaadin 7.5.5和Viritin 1.35。我实现了一个LazyComboBox,它由Spring数据JPA服务调用和存储库支持 我对LazyComboBox的基本设置是: initList( Site.class, new FilterablePagingProvider() { @Override public List findEntities(int

我使用的是
Vaadin 7.5.5
Viritin 1.35
。我实现了一个
LazyComboBox
,它由
Spring数据JPA
服务调用和存储库支持

我对LazyComboBox的基本设置是:

    initList(
            Site.class,
            new FilterablePagingProvider() {
                @Override
                public List findEntities(int index, String name) {
                    return sitesService.findByName(name);
                }
            },
            new FilterableCountProvider() {
                @Override
                public int size(String name) {
                    return sitesService.countByName(name);
                }
            },
            PAGE_SIZE
    );
当我在组合框中输入时,这非常有效。
如果我从第一页(第0页)中选择了一个项目,那么我可以离开组合框,返回组合框,再次单击下拉箭头,之前选择的项目仍然处于选中状态

但是,如果我从0以外的任何页面选择了一个项目,则单击下拉箭头会导致所选项目变为
null
,用户必须再次找到原始项目

如果需要,我可以发布服务和存储库的详细信息,但这并不比从表中选择“%”+name+“%”之类的名称更复杂。

无论选择了哪一页,如何在组合框中保留所选值


谢谢。

我想你应该打电话给
setNullSelectionLowed(false)


此外,导航后保留选定值的解决方案是将其存储在会话值中,然后您可以在任何位置检索它

我认为您应该调用
setNullSelectionLowed(false)

此外,导航后保留选定值的解决方案是将其存储在会话值中,然后您可以在任何位置检索它