我使用http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/table-view.htm#CJAGAAEE在我的javafx表中创建了一个可编辑的单元格,但无论我尝试什么,我都无法获得新值 . 相反,我总是使用第一列中的值
firstNameCol.setOnEditCommit(
(CellEditEvent <Person,String> t) - > {
((Person)t.getTableView() . getItems() . get(
t.getTablePosition() . 的getRow())
).setFirstName(t.getNewValue());
});
(上面链接中的代码示例)
我的代码很大,它是我的项目,但到目前为止我的代码大致是我的代码 .
timeColumn.setCellFactory(TextFieldTableCell.forTableColumn());
timeColumn.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent>() {
@Override
public void handle(TableColumn.CellEditEvent event) {
tableView.getItems().get(event.getTablePosition().getRow());
}
});
我正在编辑第1行第2列中的单元格,但由于某种原因,它始终返回第1行第1列中的对象而不是第1行第2列中的新值 .
有什么建议?
我试过了 tableView.getItems().get(event.getTablePosition().getRow()) + 1;
但这没效果
1 回答
这应该可以帮助您找到正确的人 .
如果object不是Person对象,则将Person替换为您的对象类型 .