Чтобы прояснить пару существующих ответов ... список сортировки cellTable
(к которому обращается функция getColumnSortList()
) определяет только состояние заголовка таблицы, но фактически не сортирует любые данные.
Как и предполагалось @ z00bs, возможно, будет целесообразно отсортировать данные внешне, если это возможно. Если вы знаете, что данные будут предварительно отсортированы, то вам следует использовать функции getColumnSortList().clear()
и getColumnSortList().push()
, чтобы сообщить своим пользователям, как сортируются данные.
Если, однако, вы хотите, чтобы CellTable действительно сортировал данные, вам потребуется запустить событие, чтобы заставить CellTable фактически отсортировать составляющие данные на стороне клиента. Для этого вы можете использовать метод состояния ColumnSortEvent.fire()
, например:
ColumnSortEvent.fire(myTable, myTable.getColumnSortList());
Это вызовет событие, которое обрабатывает сортировку данных на основе текущего состояния заголовка. Таким образом, вы можете сначала установить желаемое начальное состояние сортировки заголовка, а затем выполнить эту строку, чтобы фактическое упорядочение данных отражало текущее состояние сортировки, представленное в заголовке.