setOnEditCommit()不起作用

时间:2018-06-07 19:41:10

标签: javafx tableview

我有一个包含TableView值的数据库,想要在TableView中编辑一个列(称为颜色)时更新数据库。我面临的问题是,该函数不在setOnEditCommit()中。

以下是代码。

 table.getSelectionModel().setCellSelectionEnabled(true);
    //fi.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    table.setEditable(true);
    color.setEditable(true);
    color.setCellFactory(TextFieldTableCell.forTableColumn());
    color.setMinWidth(200);
    //on cell edit commit(for source)
    color.setOnEditCommit((TableColumn.CellEditEvent<Colour, String> event) -> {
        TablePosition<Colour, String> pos = event.getTablePosition();
        newColor = event.getNewValue();
        int row = pos.getRow();
        Colour ex = event.getTableView().getItems().get(row);
        ex.setColor(newColor);
        try {
            changeindatabase(newColor, val);
        } catch (IOException ex1) {
            Logger.getLogger(mainController.class.getName()).log(Level.SEVERE, null, ex1);
        }

    });

0 个答案:

没有答案