我正在编写一个显示JavaFX表的应用程序。此表的数据来自.csv文件。我正在尝试将可编辑列添加到显示的表中,但我不知道如何使用.setOnEditCommit()。 我已经显示了表格:
TableView<ObservableList<String>> dataTableView;
然后添加一列:
TableColumn<ObservableList<String>, String> column new TableColumn<>("Set");
column.setEditable(true);
dataTableView.setEditable(true);
column.setCellFactory(TextFieldTableCell.forTableColumn());
显示新的空列,双击后我可以添加一些值,但在移动滚动条后,这个值会消失。我读过我必须在事件中使用.setOnEditCommit()。我试过这样做:
column.setOnEditCommit(TableColumn.CellEditEvent<ObservableList<String>, String> t)->{
t.getTableView().getItems().get(
t.getTablePosition().getRow()).setLastColumn(t.getNewValue());
};
但是这也失败了,因为我无法定义.setLastColumn(),因为我的表很灵活,并且由于不同的csv文件总是看起来不同。
任何帮助将不胜感激!感谢