2012-04-03 132 views
1

我想使用TreeTable,树中的某些节点将带有复选框,而其他节点不带。我的数据对象目前在一个根java对象中,并且已经有一个层次结构。所以,因为有很多方法可以将数据绑定到一个treetable。我不知道我应该选择哪种方式?Vaadin:数据绑定到Treetable

我应该使用分层容器吗?我是否必须手动设置每个父级和子级,因为它已经在层次结构中。我要补充它们作为项目类型或对象,因为他们已经是,而且这种方法也使容易把复选框一些项目

感谢

回答

4

不同,需要使用HierarchicalCOntainer东阳的的treetable中绑定数据层次结构保存在这个容器中,是的,你必须手动创建层次结构。

要绑定你的数据,你已经做到了以下几点:

  1. 将所有的POJO的容器hierarchical.addItem(pojo);
  2. 手动创建层次。要做到这一点,你将使用hierarchical.setParent(childPojo, parentPojo);
  3. 不允许孩子叶子:treetable.setChildrenAllowed(leaf, false);

您可以找到数据绑定here的例子。

要在您的treeTable中使用checkBoxe,可以使用GeneratedColumn来实现。

如果不熟悉这个概念,这个链接将帮助您:5.14.5. Generated Table

问候, 埃里克

+2

之间有什么直接添加到HierarchicalCOntainer或treetable中的区别? – Spring 2012-04-03 14:12:02