我正在使用JFXTreeTableView
,我想从表中删除选定的行。我尝试了很多方法,但没有一个适合我。根据给定的一些方法,我到目前为止尝试过。 tableView
是表格的名称,student
是ObservableArrayList
类Student
的名称。
students.remove(tableView.getSelectionModel().getSelectedItem());
tableView.getSelectionModel().clearSelection(0);
现在我想假设一行已被删除。我还刷新了表格视图,但它没有用。
答案 0 :(得分:0)
你可以做到
TreeItem<Student> selectedItem = tableView.getSelectionModel().getSelectedItem();
if (selectedItem == tableView.getRoot()) { // remove root, if you want:
tableView.setRoot(null);
} else { // remove item from its parent:
selectedItem.getParent().getChildren().remove(selectedItem);
}
答案 1 :(得分:0)
我正在尝试实现与您的问题类似的行为。我使用了以下摘录,摘录自James_D答案。它将从表中删除选定的项目。
TreeItem<Student> selectedItem = tableView.getSelectionModel().getSelectedItem();
tableView.getSelectionModel().getSelectedItem().getParent().getChildren().remove(selectedItem);
tableView.refresh();