2015-09-04 49 views
1

我使用Vaadin 7.5.5Viritin 1.35。我实施了LazyComboBox,该服务由Spring Data JPA服务调用和存储库提供支持。如何获取LazyComboBox从Vaadin的另一个页面中选择一个项目?

我对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和用户必须再次找到原始项目。

,如果需要,我可以发布服务和存储库的详细信息,但它是没有什么比一个select * from table where name like '%' + name + '%'更复杂。

如何保持在组合框中选择的值不管选择哪一页?

谢谢。

回答

0

我想你应该对这个组合框调用setNullSelectionAllowed(false);

此外,解决方案,以保持选择的值后的导航可以将其存储在一个会话值,那么你就可以中检索它无论你在哪里。 See Session wiki page

相关问题