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

时间:2018-09-27 10:28:12

标签: vaadin vaadin7

我有三个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方法只期望数组中的可见值。那么如何设置隐形值呢?

1 个答案:

答案 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);