【问题标题】:In tableview, scrolling erases the previous items chosen with combobox在 tableview 中,滚动会删除使用组合框选择的先前项目
【发布时间】:2017-10-09 09:06:46
【问题描述】:

每当我通过表格视图中的组合框添加项目时,滚动后,组合框的先前项目被删除?如何解决这个问题。我正在使用 JavaFx。我的物品会在滚动时消失。

这是我的代码

private void Showtabledata() {

    meta=FXCollections.observableArrayList();
    meta1=FXCollections.observableArrayList();
    try {
        Connection conn = DB.getConnection();
        ResultSet rs2 = conn.createStatement().executeQuery("SELECT * FROM testgroup_master");
        while (rs2.next()) {
            String test=rs2.getString("groupname");
            meta1.add(test);
            meta.add(new Patienttabledetails(rs2.getString("groupname")));

        }
    } catch (SQLException ex) {
        System.err.println("Error" + ex);
    }
    testCat_tbl.setCellFactory(ComboBoxTableCell.forTableColumn(new DefaultStringConverter(),meta1));
    testCat_tbl.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Patienttabledetails, String>>()

        {
            @Override
            public void handle(TableColumn.CellEditEvent<Patienttabledetails, String> event) {
                System.out.println("Value"+event.getNewValue());
            }
        });
    table1.setEditable(true);
    table1.setItems(null);
    table1.setItems(meta);

}

如何避免组合框中的值消失?

上面的屏幕截图显示了错误。每当滚动时,上述选定项目的值都会消失。

【问题讨论】:

标签: java javafx


【解决方案1】:

如果您指定onEditCommit 处理程序,当在ComboBox 中选择新值时,ComboBoxTableCell 将不会尝试将新值设置为从cellValueFactory 返回的属性。

这意味着您需要自己执行此操作,如果您为要存储在项目类中的新值指定 onEditCommit 处理程序:

testCat_tbl.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Patienttabledetails, String>>()

    {
        @Override
        public void handle(TableColumn.CellEditEvent<Patienttabledetails, String> event) {
            System.out.println("Value"+event.getNewValue());

            // TODO: replace setter name by suitable setter of your Patienttabledetails class here
            event.getRowValue().setSomeProperty(event.getNewValue());
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多