在TableView

时间:2017-10-15 08:51:55

标签: java csv javafx tableview

我正在编写一个显示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文件总是看起来不同。

任何帮助将不胜感激!感谢

0 个答案:

没有答案