Vaadin表:如何使用editable = false将Boolean显示为复选框

Hin*_*ink 2 checkbox boolean vaadin

我想在表格中看到复选框而不是"true"或"false"文本.TableFieldFactory类仅为可编辑单元格生成字段.我发现只有formatProperty,我可以返回正确的unicode字符,如☑,但它看起来不太好.是否有可能在不创建计算属性的情况下生成自己的HTML元素?

mst*_*ahv 5

生成的列方法用组件替换默认的"toString":

table.addGeneratedColumn("propertyWithBoolean", new Table.ColumnGenerator() {

    @Override
    public Object generateCell(Table source, Object itemId,
            Object columnId) {
        Boolean checked = (Boolean) source.getItem(itemId).getItemProperty(columnId).getValue();
        CheckBox checkBox = new CheckBox();
        checkBox.setValue(checked);
        // don't allow user to change value
        checkBox.setEnabled(false);
        return checkBox;
    }
});
Run Code Online (Sandbox Code Playgroud)