我试图将一个子元素添加到treetable(元素是一个Bean)但不知何故结果很奇怪。我把一个小例子放在一起。
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的父级,结果是:see the pic.(p3成为p2的子级)
可以从这里访问代码:goo.gl/BMXiv
有两个主要文件:
TttestApplication.class
Project.class
铯
答案 0 :(得分:0)
不幸的是,我无法解决上面的问题,所以我通过'addProjectToTree'加载bean 一切都像通常使用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;
}
就是这样。
铯