Для чего нужен метод SortType() класса TableColumn ?

 
 
 
Сообщения:67
Я рассматриваю пример
Интерес вызвал пункт "3- TableView с данными"
Строка:
userNameCol.setSortType(TableColumn.SortType.DESCENDING);

Если её закоментировать ничего не меняется. Если изменить SortType.DESCENDING на SortType.ASCENDING - тоже ничего не изменяется в приложении.
В документации читаю, что метод TableColumn.SortType нужен для:
Quote:
Enumeration that specifies the type of sorting being applied to a specific column.

Т.е. "Перечисление, которое определяет тип сортировки, которая применена к указанной колонке."
Получается, как я понимаю, в теории этот метод должен задать направление сортировки таблицы по указанной колонке, верно? Но я задавал тип сортировки как по возрастанию, так и по убыванию.. никакого изменения нет. Тогда в чём дело?
 
 
Сообщения:373
Попробуйте изменить порядок строк, т.е. сначала заполнить представление данными, а уже потом настраивать сортировку колонок с добавлением дополнительной строки кода:
        table.getColumns().addAll(userNameCol, emailCol, fullNameCol, activeCol);

        // Display row data
        ObservableList<UserAccount> list = getUserList();
        table.setItems(list);

        // Set Sort type for userName column
        table.getSortOrder().add(userNameCol);  //без этой строки не заработает (см. описание в документации)
        userNameCol.setSortType(TableColumn.SortType.DESCENDING);
        lastNameCol.setSortable(false);
 
 
Сообщения:67
Да, так и есть. Слегка странно. Есть как getSortOrder() у таблиц, так и setSortType() у колонок. Это слегка необычно на первый взгляд. Почитав документацию и поэкспериментировав всё получилось.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет