我有三个TreeTable
的容器属性。
addContainerProperty("caption", String.class, null);
addContainerProperty("value", String.class, null);
addContainerProperty("deleted_flag", boolean.class, false);
setVisibleColumns("fields", "ids");
其中一个应该包含值-但不想全部显示,因此我仅将可见列设置为前两个属性。但是我想为最后的财产增值。
我为什么要在表中添加项目
Object itemId = addItem(new Object[]{caption, value, isDeleted}, UUID.randomUUID().toString());
它返回itemId
作为null
。如果我添加这样的项目
addItem(new String[]{caption, value}, UUID.randomUUID().toString())
工作正常,然后返回UUID
。
出什么问题了?据我了解,这是由于addItem
方法只期望数组中的可见值。那么如何设置隐形值呢?
答案 0 :(得分:0)
似乎可以这样做
首先,我将属性类型从原始类型更改为对象
addContainerProperty("deleted_flag", Boolean.class, false);
然后添加项目后,我得到项目并设置属性值
Object id = addItem(new Object[]{caption, value}, UUID.randomUUID().toString());
getItem(id).getItemProperty("deleted_flag").setValue(isDeleted);