我有一个具有以下层的 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
提交
取消