MrJcnby
@MrJcnby

Удаление элемента из JFXTreeTableView?

Возможно кто-то сталкивался с Jfoenix.jar и JFXTreeTableView. При удалении или добавлении элементов - никак не обновляется originItems - там остаются старые элементы которые были при инициализации. Таким образом мы можем применить стандартную группировку - и сразу увидим наши удаленные элементы, но не увидим добавленные.
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
MrJcnby
@MrJcnby Автор вопроса
Как оказалось был баг в библиотеке. ребята все исправили - но возможно кому-то пригодится ответ. Если вы хотите удалить строку из JFXTreeTableView, вы должны удалять элемент из ObservableList! Как пример:
создаем ObservableList, содержащий коллекцию того что мы будем пихать в таблицу :
ObservableList<Company> companies = FXCollections.observableArrayList();
companies.add(new Company(1, "Test company", "test c.","1231123", 1,1));

Создаем для нашей таблицы root и пихаем его в таблицу:
create root :TreeItem<Company> root = new RecursiveTreeItem<Company>(companies,RecursiveTreeObject::getChildren); 
treeView.setRoot(root);

теперь когда мы хотим удалить строку из таблицы, мы просто удаляем его из листа:
companies.remove(treeView.getSelectionModel().selectedItemProperty().get().getValue());

П.С.
treeView.getRoot().getChildren().remove(treeView1.getSelectionModel().selectedItemProperty().get());

- удалить строку таким кодом не получится. да строка пропадет с основного вида таблицы - но при группировке любой колонки - вы увидите эту удаленную строку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы