我有一個具有以下層的 NatTable 組件:視口層選擇層行隱藏顯示層ColumnGroupExpandCollapseLayerColumnHideShowLayer數據層當復選框選擇更改時,我需要顯示/隱藏特定列。為此,我使用 NatTable 組件提供的 #doCommand() 方法:if(selection) { nattable.doCommand(new ColumnShowCommand(nattable, COLUMN_INDEX));} else { nattable.doCommand(new ColumnHideCommand(nattable, COLUMN_INDEX+1));}一切正常,除了選擇表中的所有項目并執行 ColumnHideCommand 的情況。在這種特定情況下,整個表格內容都會消失。如果表中沒有選擇,或者沒有選擇所有元素,那么一切正常。如果您知道那里發生了什么,或者您以前是否遇到過此類問題,請告訴我。我對 NatTables 的經驗非常有限,所以如果您需要任何其他信息,請告訴我。謝謝!
1 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
這是SelectionLayer
支持基于列選擇的多列隱藏操作的功能。AColumnHideCommand
被消耗,而是MultiColumnHideCommand
基于完全選擇的列創建和執行。負責的代碼位于SelectionLayer#handleColumnHideCommand(ColumnHideCommand)
。該方法受到保護,因此如果您不需要該功能,因為您僅支持以編程方式隱藏/顯示列而不是通過用戶執行的 UI,您可以覆蓋該方法以簡單地執行 asuper.doCommand(command);
而無需檢查選擇。
添加回答
舉報
0/150
提交
取消