combobox - 如何将 ComboBoxTableCell 放入 TableView 中?

标签 combobox javafx tableview tablecell

我试图将组合框放入表格单元格中,但我不能。代码如下:

private void cargaTablaDesglose() {
    TableColumn<Map, String> column1 = new TableColumn<>(Desglose1);
    TableColumn<Map, String> column2 = new TableColumn<>(Desglose2);
    TableColumn<Map, String> column3 = new TableColumn<>(Desglose3);

    column1.setCellValueFactory(new MapValueFactory(Desglose1));
    column1.setMaxWidth(0);
    column2.setCellValueFactory(new ComboBoxTableCell.forTableColumn(null));
    column2.setPrefWidth(150);
    column3.setCellValueFactory(new MapValueFactory(Desglose3));
    column3.setPrefWidth(250);

    if (CUOD.modifyData()) {
        column2.setOnEditCommit((TableColumn.CellEditEvent<Map, String> t) -> {
            actualizaObra(t.getRowValue(), t.getNewValue());
        });
            }

    tablaDesglose.getItems().clear();
    tablaDesglose.setEditable(true);
    tablaDesglose.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    tablaDesglose.getSelectionModel().setCellSelectionEnabled(false);
    tablaDesglose.getColumns().clear();
    tablaDesglose.getColumns().addAll(column1, column2, column3);

    Callback<TableColumn<Map, String>, TableCell<Map, String>> cellFactoryMap
            = CUCF.getFactoryMap();
    column1.setCellFactory(cellFactoryMap);
    column2.setCellFactory(cellFactoryMap);
    column3.setCellFactory(cellFactoryMap);
}

它说找不到 ComboBoxTableCell 的 forTableColumn 方法

最佳答案

问题的一部分是您尝试将单元格工厂设置为TableColumn 的单元格值工厂字段。试试这个:

ObservableList<String> cbValues = FXCollections.observableArrayList("1", "2", "3");

TableColumn<Map, String> column2 = new TableColumn<>(Desglose2);
column2.setCellFactory(ComboBoxTableCell.forTableColumn(new DefaultStringConverter(), cbValues));

关于combobox - 如何将 ComboBoxTableCell 放入 TableView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537358/

相关文章:

ios - 能否在 detailTextLabel 单元格中显示小图像?

qt - QML TableView rowDelegate styleData.row 未定义

带有 UIView 的 iOS UITableView 自定义页脚

c# - 在组合上显示年份

javascript - 将变量传递到一页并在组合框中查找

java - 如何从表列javafx中删除行

java - 如何在 JavaFX GUI 组件中显示使用 graphstream 生成的图形?

java - 有没有办法设置可编辑的 J2ME lwuit 组合框?

c# - 从组合框中获取 .value 属性

java - JavaFX 中加载器实例化抛出空指针