0

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);
        }

    }
}
4

1 に答える 1