我有一个Bean类,其id指向另一个Bean类。例如:
String name;
String job;
UserLevel userlevel;
并且UserLevel类包含:
String level;
String permission;
所以我无法从userleve访问String级别。我创建了一个BeanItemContainer,它从数据库中获取信息,并将我的表的数据源设置为BeanItemContainer。我曾尝试使用mytable.addContainerProperty,但它没有用,我试过了:
Firsty try: mytable.addContainerProperty("userlevel", UserLevel.class, "");
Second try: mytable.addContainerProperty("level", String.class, ""):
Thrid try: mytable.addContainerProperty("userlevel", String.class, "");
Fourth try: mytable.addContainerProperty("userlevel.level", String.class, "");
答案 0 :(得分:0)
您可以使用BeanItemContainer的addNestedContainerProperty方法。
container.addNestedContainerProperty("userlevel.level");
您可以在Vaadin书籍的这一章中的“嵌套属性”下找到更多信息: https://vaadin.com/book/-/page/datamodel.container.html
如果要从UserLevel访问所有字段,还有addNestedContainerBean方法。 AFAIK此方法用其子属性替换该属性。