仅在treetableview中的子级别应用单元工厂

时间:2015-10-13 08:37:54

标签: javafx treetableview

我有一个4级层次结构的treetableview。我想要一个带有单元工厂的列作为组合框。但是这个组合框应该仅在最后一个孩子级别而不是父级别可见。这有可能实现吗?

编辑:我根据收到的建议尝试了以下内容。

ObservableList ADM = WSData.getADMObjectMapList();
        tbAdmMap.setCellFactory(new Callback<TreeTableColumn<ProjectPlan, String>, TreeTableCell<ProjectPlan, String>>() {

            @Override
            public TreeTableCell<ProjectPlan, String> call(TreeTableColumn<ProjectPlan, String> param) {
                TreeTableCell<ProjectPlan, String> cell = new TreeTableCell<ProjectPlan, String>() {
                    @Override
                    public void updateItem(String item, boolean empty) {
                        super.updateItem(item, empty);
                        System.out.println(getItem());
                        if (getString().equals("")) {
                            setGraphic(null);
                        } else {
                            ComboBox<String> comboBox = new ComboBox(ADM);
                            comboBox.setValue(item);
                            setGraphic(comboBox);
                        }

                    }

                    private String getString() {
                        return getItem() == null ? "" : getItem();
                    }
                };
                return cell;
            }

        });

它正在给我正确的外观,但没有让单元格进入编辑模式。因为onCommitEdit方法没有被调用。

0 个答案:

没有答案