我添加新项目时可以对普通的组合框进行排序吗? (vaadin)

时间:2015-10-28 15:07:59

标签: combobox vaadin vaadin7

我有一个组合框.. 当我在那里添加一个新项目时,它必须位于列表的顶部..如何在顶部添加此项目?

或者,只是在添加新项目时尝试按字母顺序对此列表进行排序?

1 个答案:

答案 0 :(得分:2)

<强> 1

  

如何在顶部添加此项?

您可以提供自己的数据源,并使用它来始终在0位置插入项目,这些内容符合以下几行:

    TextField input = new TextField("New person name");
    BeanItemContainer<Person> comboDataSource = new BeanItemContainer<>(Person.class);
    ComboBox combo = new ComboBox("Persons", comboDataSource);
    combo.setItemCaptionPropertyId("name");

    layout.addComponent(input);
    layout.addComponent(combo);
    layout.addComponent(new Button("Add", new Button.ClickListener() {
        @Override
        public void buttonClick(Button.ClickEvent clickEvent) {
            comboDataSource.addItemAt(0, new Person(input.getValue()));
        }
    }));

<强> 2

  

尝试在添加新项目时按字母顺序对此列表进行排序

添加项目后

Call the sort(Object[] propertyId, boolean[] ascending) method on your container