我有一个组合框.. 当我在那里添加一个新项目时,它必须位于列表的顶部..如何在顶部添加此项目?
或者,只是在添加新项目时尝试按字母顺序对此列表进行排序?
答案 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。