1

我正在使用Vaadin 7.5.5Viritin 1.35。我已经实现了一个LazyComboBoxSpring Data 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并且用户必须再次找到原始项目。

如果需要,我可以发布服务和存储库的详细信息,但它并不比select * from table where name like '%' + name + '%'.

无论选择哪个页面,如何将所选值保留在组合框中?

谢谢你。

4

1 回答 1

0

我认为你应该调用setNullSelectionAllowed(false);这个组合框。

此外,在导航后保留所选值的解决方案可以是将其存储在会话值中,然后无论您身在何处都可以检索它。请参阅会话 wiki 页面

于 2015-09-04T22:22:04.623 回答