добавить элемент таблицы со значением невидимого столбца - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть три свойства контейнера для 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 голосов
/ 27 сентября 2018

Кажется, это можно сделать следующим образом

Сначала я изменил тип свойства с примитива на объект

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

Затем после добавления элемента я получаю элемент и устанавливаю значение свойства

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