Vaadin 一对多网格绑定和扩展子实体

Vaadin one to many Grid binding and expanding child entity

Customer 实体与实体 Address 有一对多的关系,所以 Customer.Entity 中有一个 List<Address> getAddress Address 有三列,Street,City 和 Country。

例如,要获取一个客户的两个地址的地址详细信息,您可以这样做

customer.getAddress.get(0).getStreet
customer.getAddress.get(0).getCity
customer.getAddress.get(0).getCountry

你做的第二个地址

customer.getAddress.get(1).getStreet
customer.getAddress.get(1).getCity
customer.getAddress.get(1).getCountry

有没有办法显示客户详细信息的一行并显示子网格或(只是转储地址对象的内容) 展开地址实体并显示具有 3 列的两个地址行?

本质上显示父级并展开 child.I 正在查看 TreeGrid,但它需要单一类型的 bean,如 TreeGrid,我不知道地址将如何填充到图片中。

基本网格有这样的功能吗?我看到您可以使用 addComponentColumn 添加不同类型的列,但这是否仅适用于 UI 元素,例如添加按钮等?

您可以为此使用 LitRenderer,但在网格中显示这么多数据会大大延长行的高度。

使用 addComponentColumn 您可以添加任何您想要的组件,例如您创建的单个按钮、图像或更复杂的布局。

喜欢大图隆德建议可以使用ItemDetailsRenderer。您可以在那里实现 LitRendererComponentRenderer。然后就可以显示客户的所有复杂信息了。