Vaadin Tree来自实体列表

时间:2016-02-04 21:06:26

标签: vaadin

我在Vaadin很新,面临下一个问题。我正在尝试使用Tree表示我的实体列表,并通过某些属性进行分组。一切都很好,直到第一级项目。我做了什么:

MyEntity myEntity1 = new MyEntity(1l, "prop1", "sub_prop0")
MyEntity myEntity2 = new MyEntity(2l, "prop1", "sub_prop1")
MyEntity myEntity3 = new MyEntity(3l, "prop2", "sub_prop2")

BeanContainer<Long, MyEntity > entityContainer = new BeanContainer<>(MyEntity .class);
marketContainer.setBeanIdProperty("prop"); // prop is property name for the second value in constructor
entityContainer.addBean(myEntity1);
entityContainer.addBean(myEntity2);
entityContainer.addBean(myEntity3)

Tree markets = new Tree("Markets");
markets.setContainerDataSource(entityContainer);

结果我得到了2个项目的树:prop1和prop2,但没有别的。实际上我唯一需要的是将具有值的sup元素形成另一个属性作为子项。

提前致谢。

1 个答案:

答案 0 :(得分:1)

查看文档和找到的示例here

简而言之:

设置子对象的父对象

// Set it to be a child.
tree.setParent(l2, l1);

如果不允许孩子,请告诉他们

/* Make the moons look like leaves. */
tree.setChildrenAllowed(l2, false);

如果您希望在Container中定义Hierachie,请使用其中一个实现HierarchicalContainer的容器。 您还可以使用setParent(...)方法指定关系。