TreeTable вставка нового элемента (Vaadin) - PullRequest
0 голосов
/ 30 января 2012

У меня есть TreeTable, и я могу инициализировать его элементами, и они отображаются.Но гораздо позже я не смог вставить новые элементы.

  • каждый treetable.addItem (...) дает ноль позже
  • методы при инициализации не могут вставлять новые элементы также и позже.
  • каждый новый предмет имеет уникальный itemid
  • я не получил никакого сообщения об ошибке

Как я могу узнать, в чем реальная проблема?

Я уверен, что я добавил правильные типы в правильном порядке.

Заранее спасибо.

(вставка фрагмента кода будет скучной, потому что у нас есть 10 столбцов)

Ответы [ 2 ]

3 голосов
/ 30 января 2012

Очень трудно понять, что не так, когда вы не даете никакого кода, но может быть так, что ваша таблица не допускает новые объекты. Используйте этот метод, чтобы изменить его

myTreeTable.setNewItemsAllowed(true)
1 голос
/ 31 января 2012

Я заметил, в чем была «проблема».После использования setVisibleColumns я не смог добавить новый элемент.как я прокомментировал, новый элемент может перейти в древовидную таблицу.Попробуйте сами (Ваадин 6.7.3-4)

    TreeTable tt = new TreeTable();
    mainWindow.addComponent(tt);

    tt.addContainerProperty("description", String.class, "");
    tt.addContainerProperty("keyword", String.class, "");
    tt.addContainerProperty("priority", String.class, "");

    tt.addItem(new Object[]{"0","k 0","p 0"},0);
    tt.addItem(new Object[]{"1","k 1","p 1"},1);
    tt.addItem(new Object[]{"2","k 2","p 2"},2);
    //tt.addItem(new Object[]{"3","k 3","p 3"},3);  //works well    

    tt.setVisibleColumns(new Object[] {"description","keyword"});       

    tt.addItem(new Object[]{"3","k 3","p 3"},3);    //doesn't work because of setVisibleColumns ....        

Странно ...

Cs.

...