Table Field Factory的瞬态变量

时间:2014-10-31 08:38:38

标签: java vaadin

我想为我的vaadin表创建一个自定义列。所有项目都应该有一个带复选框的列。为了拥有这个列,我创建了一个瞬态变量,其名称为“selected”。当表格生成列时,table.setTableFieldFactory()会运行,但“已选中”不会显示在propertyIds列表中。

table.setTableFieldFactory((container, itemId, propertyId, uiContext) -> {
        if("selected".equals(propertyId)) {
            CheckBox checkBox = new CheckBox();
            checkBox.addValueChangeListener(event -> selectListener((Boolean)event.getProperty().getValue()));
            return checkBox;
        }
        return null;
    });

问题是,如何为瞬态变量创建自定义字段?我应该如何将我的瞬态变量添加到propertyIds列表中?我做错了什么?

1 个答案:

答案 0 :(得分:0)

发现了什么问题。这张桌子是一张CustomTable,由我的伴侣制作。它在Boolean.class上有一个列生成器。因此,当它制作列时,它覆盖了我的定义。