添加具有不可见列值的 table 项

add table item with the value of invisible column

我有 TreeTable 的三个容器属性。

addContainerProperty("caption", String.class, null);
addContainerProperty("value", String.class, null);
addContainerProperty("deleted_flag", boolean.class, false);

setVisibleColumns("fields", "ids");

其中一个应该包含值 - 但不想全部显示,所以我只将可见列设置为前两个属性。但是我想为最后一个 属性 赋值。

当我像这样将项目添加到 table 时

Object itemId = addItem(new Object[]{caption, value, isDeleted}, UUID.randomUUID().toString());

它 returns itemIdnull。如果我添加这样的项目

addItem(new String[]{caption, value}, UUID.randomUUID().toString())

它工作正常并且 return UUID

问题是什么?据我了解,这是由于 addItem 方法只需要数组中的可见值。那么如何设置不可见值呢?

好像可以这样

首先我将 属性 类型从原始类型更改为对象

addContainerProperty("deleted_flag", Boolean.class, false);

然后在添加项目后我得到项目并设置 属性 值

Object id = addItem(new Object[]{caption, value}, UUID.randomUUID().toString());
getItem(id).getItemProperty("deleted_flag").setValue(isDeleted);