TableView的可编辑列(JavaFX)

时间:2019-03-31 09:15:27

标签: java javafx tableview

当我将列动态添加到TableView时,面临编辑它们的问题。数据是从数据库动态加载的,因此我需要像下面这样完全设置单元格参数:

for (String columnName : Operator.getColumnNames()) {//An array names of columns from database
    TableColumn column = new TableColumn(columnName);

    column.setCellFactory(TextFieldTableCell.forTableColumn());
    column.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){                    
        public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {                                                                                              
            return new SimpleStringProperty(param.getValue().get(Operator.getColumnNames().indexOf(columnName)).toString());                        
        }     
    });

    column.setOnEditCommit(e -> {
        ...
    });
}

Look at that too (instance e methods)...


例如,如果她不是通用的,如何设置 setOnEditCommit 列方法并更改内容...

谢谢!

1 个答案:

答案 0 :(得分:0)

可能是您的编辑器或其他问题。因为setOnEditCommit的事件方法如下图所示。因此,@ fabian评论应该起作用。另外,请检查我在评论中的其他建议。

enter image description here