javavaadin如何从bean项容器中bean项的对象id获取bean本身
我已经为组合框this.comboBox.setContainerDataSource(container)
设置了一个ContainerDataSource。这个容器是BeanItemContainer。
此外,我还创建了TextFields
,它绑定到来自BeanItemContainer
的bean的某些属性。为了获取ComboBox
的选定数据,我只能执行this.comboBox.getValue()
,它返回选定bean的对象id。如何使用这些信息来获取实际选择的bean本身?我需要它来设置字段组中文本字段的项数据源
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(...);
}
# 1 楼答案
我猜你用的是瓦丁7
以下是从组合框中获取所选项目的解决方案: