vaadin-gird を使用すると、奇妙な動作が発生します。グリッド (gRegisteredRecords) で選択された行からの情報を LinkedHashMaps の arrayList に格納しようとしています。なんらかの理由で、ボタン btnGenerateXML を初めてクリックすると、メソッド getSelectedRows() は空のリストを返しますが、2 番目のリストは正常に機能します...なぜ最初の試行で機能しないのですか? ここにコードがあります..ありがとう!
_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);
}
}
}