我创建一个表来传递另一个表中的行(checkbox==true)。但是表1没有得到值。我做错什么了?
protected void doExportExcel() {
Table table1 = new Table ();
for (Iterator<?> iterator = table.getItemIds().iterator(); iterator.hasNext(); ) {
String trueID = (String) iterator.next();
Item item = table.getItem(trueID);
CheckBox cb = (CheckBox) item.getItemProperty("Select").getValue();
if (cb.getValue()) {
table1.addItem(item);
}
}
excelExport = new ExcelExportCustom(table1, "Лист 1");
excelExport.excludeCollapsedColumns();
excelExport.export();
}
1条答案
按热度按时间fd3cxomn1#
我看到的问题是在两个不同的地方添加相同的项(示例)。您可以克隆该组件并处理这两个组件之间的同步(如果需要),也可以创建一个新组件,然后使用binder确保值是同步的。
下面的示例引用了将数据绑定到表单的方法,但您可以使用它绑定几乎所有内容。
https://vaadin.com/docs/v14/flow/binding-data/tutorial-flow-components-binder