如何在Vaadin8组合框中获得物品尺寸?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Vaadin8组合框中获得物品尺寸?相关的知识,希望对你有一定的参考价值。

如果Vaadin8组合框中没有任何项目,我正试图显示弹出窗口。但是没有getItems()或size()方法。

这是我的代码,如果分支大小= 0我想向用户发送通知。

        cbxBranch = new ComboBox<>();
        cbxBranch.setPlaceholder("Select a branch");
        cbxBranch.setItemCaptionGenerator(Branch::getBranchName);
        cbxBranch.setEmptySelectionAllowed(false);
        cbxBranch.setItems(getBranches());
        cbxBranch.addFocusListener(e -> {
            //this line just a sample..
            System.out.println(cbxBranch.getDataProvider().size());
        });

更新:

cbxBranch.addFocusListener(e -> {
    if (((ListDataProvider<Branch>) cbxBranch.getDataProvider()).getItems().isEmpty()) {
       Notification.show("You don't have a branch!", Type.WARNING_MESSAGE);
    }
});
答案

Vaadin 8使用DataProviders作为GridTreeGridComboBox等项目组件。 setItems方法是一种方便的方法,可以将ListDataProvider与您的数组/集合设置为组合框。因此,您可以调用getDataProvider,强制转换为ListDataProvider并调用getItems(请参阅java doc here)。

以上是关于如何在Vaadin8组合框中获得物品尺寸?的主要内容,如果未能解决你的问题,请参考以下文章

支持动态或静态片段的不同屏幕尺寸?

如何在组合框中添加项目?

在数据库中存储项目属性的组合

如何在文本框或组合框中显示多个值

如何在 sql 语句中保存组合框中的选定项目和文本框中的长数字?

如何从 VB.net 组合框中的数据库中获取特定列的所有行?