我需要以编程方式隐藏NatTable的多个列。 为此,我使用一种方法计算索引数组,然后 如下调用MultiHideCommand。
int[] indexArray = idxToHide.stream().mapToInt(i -> i).toArray();
_tableView.doCommand(new MultiColumnHideCommand(_tableView,indexArray));
我得到的是只隐藏了一堆列,但不是indexArray中的所有列。
我了解到ColumnHideShowLayer在设计时考虑了UI交互。
是否有正确的方法以编程方式删除多列?
答案 0 :(得分:0)
首先,该命令将位置作为参数,而不是索引。其次,位置必须基于用作第一个参数的图层。如果涉及ViewportLayer,则不会考虑不可见的列。
因此,您可以尝试根据一些较低的层(例如选择图层,然后在命令中传递选择图层和基于选择图层的位置。从理论上讲应该可以。