如何给出从JFXTreeTableView中删除行的错觉?

时间:2016-10-24 20:19:11

标签: java javafx javafx-8

我正在使用JFXTreeTableView,我想从表中删除选定的行。我尝试了很多方法,但没有一个适合我。根据给定的一些方法,我到目前为止尝试过。 tableView是表格的名称,studentObservableArrayListStudent的名称。

students.remove(tableView.getSelectionModel().getSelectedItem());
tableView.getSelectionModel().clearSelection(0);

现在我想假设一行已被删除。我还刷新了表格视图,但它没有用。

2 个答案:

答案 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();