如何在表或indexedcontainer中获取多个选定的行?
作者:互联网
我有一个表,其DataSource设置为IndexedContainer.我的桌子上也启用了多个选择.问题是,如何将所有选定的值…作为数组?
我的IndexedContainer:
private void populateAnalyteTable () {
Analyte[] analytes = Analyte.getAnalytes();
for (Analyte analyte : analytes) {
Object id = ic_analytes.addItem();
ic_analytes.getContainerProperty(id, "ID").setValue(analyte.getId());
ic_analytes.getContainerProperty(id, "Analyte Name").setValue(analyte.getAnalyteName());
}
// Bind indexed container to table
tbl_analytes.setContainerDataSource(ic_analytes);
}
我最终想要得到的是一组Analyte对象
解决方法:
为什么要使用IndexContainer?你为什么不使用BeanItemCotainer?
请在下面找到代码片段
table.setMultiSelect(true);
BeanItemContainer<Analyte> container = new BeanItemContainer<Analyte>(Analyte.class);
container.addAll(Arrays.asList(Analyte.getAnalytes()));
table.setContainerDatasource(container);
// Add some Properties of Analyte class that you want to be shown to user
table.setVisibleColumns(new Object[]{"ID","Analyte Name"});
//User selects Multiple Values, mind you this is an Unmodifiable Collection
Set<Analyte> selectedValues = (Set<Analyte>)table.getValue();
如果它没有解决问题,请告诉我
标签:java,vaadin,vaadin6 来源: https://codeday.me/bug/20190830/1767397.html