Я хочу, чтобы определенный столбец TableView
был отсортирован по умолчанию. Как мне это сделать? Я попытался сделать column.setSortType(SortType.ASCENDING);
, а также положить его в звонок runLater
. Я посмотрел на JavaDocs и прочее, и все, что я вижу, может представлять интерес, это свойственный setSortPolicy
метод.Как сортировать TableView программно?
3
A
ответ
2
Чтобы выполнить «одноразовое» своего рода, вызов
tableView.getSortOrder().setAll(...);
переходящим в TableColumn
(ы) с помощью которого вы хотите данные, отсортированные.
Чтобы сортировка сохранялась, даже если элементы в списке изменяются, создайте SortedList
и передайте ее методу setItems(...)
таблицы. (Для того, чтобы изменить детали, вы все равно будет манипулировать основной список.)
В качестве примера, используя обычный contact table example вы могли бы сделать:
TableView<Person> table = new TableView<>();
TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
firstNameCol.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
TableColumn<Person, String> lastNameCol = new TableColumn<>("
Last Name");
firstNameCol.setCellValueFactory(cellData -> cellData.getValue().lastNameProperty());
ObservableList<Person> data = FXCollections.observableArrayList();
SortedList<Person> sortedData = new SortedList<>(data);
// this ensures the sortedData is sorted according to the sort columns in the table:
sortedData.comparatorProperty().bind(table.comparatorProperty());
table.setItems(sortedData);
// programmatically set a sort column:
table.getSortOrder().addAll(firstNameCol);
// note that you should always manipulate the underlying list, not the sortedList:
data.addAll(new Person(...), new Person(...));
Смежные вопросы
- 1. Как программно сортировать TreeView
- 2. Как программно сортировать носители?
- 3. Как программно установить TableView группировать
- 4. Как сортировать файлы LinearLayout программно
- 5. Как сортировать Просмотреть результаты программно?
- 6. Как сортировать столбцы datagridview программно
- 7. Изменение размера Tableview программно
- 8. Выберите TableView ряд программно
- 9. Повторно сортировать TableView по алфавиту
- 10. tableview сортировать по расстоянию swift
- 11. Как сортировать по столбцу tableview в какао
- 12. Программно сортировать GridView
- 13. Как добавить UISearchBar в мой tableView программно?
- 14. iPhone - Создание пользовательского TableView программно
- 15. Угловая UI-Grid 3 - как программно сортировать?
- 16. Как сортировать UltraGrid по нескольким столбцам программно?
- 17. angularjs smart-table программно сортировать
- 18. сортировать строки в excel программно
- 19. Как сортировать Tableview от A-Z стремительной 2,3
- 20. Segue из пользовательских программно Tableview внутри CollectionView
- 21. Отображение изображения программно в Tableview ячейке
- 22. Scroll View и Tableview программно выравниваются
- 23. Tableview для представления вложенных JSON программно
- 24. Настройка NSTableView программно (catching tableView: objectValueForTableColumn: row :)
- 25. Измените TableView Size программно в коде
- 26. Изменение значения JavaFX TableView Vertical ScrollBar программно
- 27. Добавить поиск в текстовом поле Tableview программно
- 28. TableView не отображается при его создании программно
- 29. Программно сортировать папки в Windows 8
- 30. DataGridView сортировать программно, чувствительно к регистру
Это работает ... вроде. Я могу сортировать таблицу изначально, но когда я меняю элементы в ней, сортировка очищается. Я также не могу изменить порядок сортировки вручную из front-end. –
Чтобы включить сортировку для сохранения изменений в элементах, установите элементы в ['SortedList'] (http://docs.oracle.com/javase/8/javafx/api/javafx/collections/transformation/SortedList.html) (и манипулировать базовым списком). Добавил это к ответу; если вам нужна дополнительная информация, вам, вероятно, потребуется указать код в вашем вопросе. –