Проблема с скрытием нескольких столбцов с помощью NatTable - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно программно скрыть несколько столбцов NatTable.Для этого я вычисляю массив индексов с помощью метода, а затем вызываю MultiHideCommand следующим образом.

int[] indexArray = idxToHide.stream().mapToInt(i -> i).toArray();
_tableView.doCommand(new MultiColumnHideCommand(_tableView,indexArray));

В результате получается, что скрыта только группа столбцов, но не все столбцы вindexArray.

Я прочитал, что ColumnHideShowLayer был разработан с учетом взаимодействия с пользовательским интерфейсом.

Есть ли правильный способ программно удалить несколько столбцов?

1 Ответ

0 голосов
/ 18 февраля 2019

Во-первых, команда принимает позиции в качестве параметра, а не индексы.Во-вторых, позиции должны основываться на слое, который используется в качестве первого параметра.Если используется ViewportLayer, невидимые столбцы не будут учитываться.

Таким образом, вы можете попытаться рассчитать позиции на основе некоторого нижнего уровня, например SelectionLayer, а затем передать SelectionLayer ипозиции на основе SelectionLayer по команде.Это должно работать в теории.

...