我怎样才能让FieldGroup/BeanFieldGroup绑定项目的集合?如何使用Vaadin(FieldGroup)绑定绑定一组/复杂类型的集合?
想象一下,有一本书,其中一套章节是复杂的类型。
public class Book {
private String title;
private Set<Chapter> chapters;
}
public class Chapter {
private String Text;
private int number;
}
然后,对于Vaadin布局,它们被绑定到例如一个VerticalLayout(例如)。我怎样才能得到绑定的“章节”的强类型集合/集合?
public class BookLayout extends VerticalLayout {
private TextField title = new TextField();
// ?? chapters
}
public class ChapterLayout extends VerticalLayout {
private TextField text = new TextField();
private TextField number = new TextField();
}
该绑定本身工作正常,但只适用于顶级“书”。
Book dto = ... // Comes populated with chapters etc.
BookLayout layout = new BookLayout();
BeanFieldGroup<Book> binder = new BeanFieldGroup<>(Book.class);
binder.setItemDataSource(dto);
binder.bindMemberFields(layout);
如何绑定一组复杂类型?我只找到一个单一(复杂类型)字段的例子。
你能给我们提供更多关于你的问题的信息,为什么你需要绑定set Set的章节?你必须对这个对象做什么操作? – Skizzo
我正在尝试创建一个类似于网络研讨会示例的可编辑表单,该示例在我的示例中具有一组复杂类型,而不仅仅是示例中的地址(例如地址集)中的单个值。 https://www.youtube.com/watch?v=aq_OXCVqvFI – lko