Я установил ContainerDataSource для ComboBox this.comboBox.setContainerDataSource(container)
.Этот контейнер является BeanItemContainer.Кроме того, я создал TextFields
, которые связаны с определенными атрибутами компонента из BeanItemContainer
.Для получения выбранных данных ComboBox
я могу сделать только this.comboBox.getValue()
, который возвращает идентификатор объекта выбранного компонента.Как я могу использовать эту информацию для получения самого выбранного бина?Мне нужно установить источник данных элемента моих текстовых полей в группе полей.
final BeanItemContainer<Person> personContainer = new BeanItemContainer<>(Person.class);
for(int h = 0; h <= this.table.getSelectedItems().size() -1; h++) {
final Person person = this.table.getSelectedItems().get(h).getBean();
personContainer.addBean(person);}
final Window win = new Window("Person", new PersonView(personContainer));
this.getUI().addWindow(win);
PersonView:
public PersonView(final BeanItemContainer<Person> personContainer) {
super();
this.initUI();
this.comboBox.setContainerDataSource(personContainer);
this.comboBox.setItemCaptionMode(ItemCaptionMode.PROPERTY);
this.comboBox.setItemCaptionPropertyId("name");
}
private void comboBox_valueChange(final Property.ValueChangeEvent event) {
//this.fieldGroup.setItemDataSource(...);
}