2015-10-28 1 views
0

У меня есть combobox .. , и когда я добавляю туда новый элемент, он должен быть в верхней части списка .. как можно добавить этот элемент вверху?Можно ли сортировать обычное поле со списком при добавлении нового элемента? (vaadin)

или просто попробуйте отсортировать этот список в алфавитном порядке, когда новый товар был добавлен?

ответ

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 после добавления элементов.

 Смежные вопросы

  • Нет связанных вопросов^_^