Ваадин добавляет дочерний элемент в древовидную таблицу - PullRequest
2 голосов
/ 19 января 2012

Я пытался добавить дочерний элемент в древовидную таблицу (элемент является Бином), но как-то получился странный результат.Я собрал небольшой пример.

     BeanItemContainer<Project> bic = new BeanItemContainer<Project>(Project.class);
 TreeTable projectTable = new TreeTable();
 projectTable.setContainerDataSource(bic);

 bic.addBean(Root);
 bic.addBean(p1);
 bic.addBean(p2);
 bic.addBean(p3);

 projectTable.setParent(p1, Root);
 projectTable.setParent(p2, Root);
 projectTable.setParent(p3, p1);

Как вы можете видеть в последней строке, p1 должен быть родителем p3, а результат: см. Рис. (p3 становятся детьмииз p2)

Код доступен здесь: goo.gl/BMXiv

Существует 2 основных файла:

TttestApplication.class

Project.класс

Cs

1 Ответ

0 голосов
/ 20 января 2012

К сожалению, я не смог преодолеть проблему, описанную выше, поэтому я загружаю бины с помощью addProjectToTree, и все происходит, как обычно, с помощью addItem.

 .... beans' initialization
 Root = new Project("Projects","Indoor","HI", new Date(), new  Date(),this.getNextId(),null);
 ... 
 ... columns' creation
 projectTable.addContainerProperty("description", String.class, "");
 ... 
 ...
 addProjectToTree(Root);    

public Object addProjectToTree(Project p)
{
  Object id = projectTable.addItem(new Object[] {p.getDescription(),p.getKeyword() ...);
    if(p.getParentId()!=null)
    {
        projectTable.setParent(id, p.getParentId());
    }
    return id;
}

Вот и все.

Cs

...