`

如何在TableView的列中自定义渲染

 
阅读更多
//定义TableView中的列
TableColumn<FieldDefine, FieldDefine.Type> fieldTypeCol = new TableColumn<>();
        fieldTypeCol.setText(LanguageHelper.getString("common.field_type"));
        fieldTypeCol.setPrefWidth(100);
        fieldTypeCol.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<FieldDefine, FieldDefine.Type>, ObservableValue<FieldDefine.Type>>() {
            @Override
            public ObservableValue<FieldDefine.Type> call(TableColumn.CellDataFeatures<FieldDefine, FieldDefine.Type> fieldDefineTypeCellDataFeatures) {
                return new ReadOnlyObjectWrapper(fieldDefineTypeCellDataFeatures.getValue().getType().getValue());
            }
        });

public class FieldDefine {
    protected String labelName;
    protected String name;
    protected FieldDefine.Type type;

    static class Type {
        protected FieldType value;

        FieldType getValue() {
            return value;
        }

        void setValue(FieldType value) {
            this.value = value;
        }
    }

    public String getLabelName() {
        return labelName;
    }

    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Type getType() {
        return type;
    }

    public void setType(Type type) {
        this.type = type;
    }
}
分享到:
评论
1 楼 wdjhz 2014-04-25  
感激不尽。。
昨晚找了一晚的资料都没找到详细说明。。
看到你的demo,茅塞顿开,非常感谢!!

相关推荐

Global site tag (gtag.js) - Google Analytics