我在使用 vaadin-gird 时遇到了一种奇怪的行为。我只是想将来自网格中选定行的信息(gRegisteredRecords)存储到 LinkedHashMaps 的 arrayList 中。出于任何原因,当我第一次单击按钮 btnGenerateXML 时,getSelectedRows() 方法返回一个空列表,但第二个方法工作正常......为什么它在第一次尝试时不起作用?这是代码..谢谢!
_btnGenerateXML.addClickListener(p -> {
ArrayList <LinkedHashMap<String, String >> alSelected = new ArrayList<>();
for (Object itemId: gRegisteredRecords.getSelectedRows()) {
LinkedHashMap<String, String> lhmProgrammValue = new LinkedHashMap<>();
this.gRegisteredRecords.getContainerDataSource().
getContainerPropertyIds().forEach(propertyId ->
lhmProgrammValue.put(propertyId.toString(),
this.gRegisteredRecords.getContainerDataSource()
.getItem(itemId)
.getItemProperty(propertyId)
.getValue().toString()));
alSelected.add(lhmProgrammValue);
}
}
}