2

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 の親である必要があり、結果は次のとおりです。写真を参照してください。(p3 は p2 の子になります)

コードはここからアクセスできます: goo.gl/BMXiv

2 つの主要なファイルがあります。

TttestApplication.class

Project.class

Cs

4

1 に答える 1

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;
}

それでおしまい。

Cs

于 2012-01-19T21:33:06.640 に答える