Java 绑定一个:将多个数据绑定到Vaadin中的组件

Java 绑定一个:将多个数据绑定到Vaadin中的组件,java,vaadin,Java,Vaadin,我的问题涉及将组件绑定到Vaadin中的数据当使用AddNestedPCContainerProperty拥有1:1关系的bean时,可以绑定嵌套属性 是否可以用一:多关系绑定属性。例如,拥有java类 public class User { private String name; private Map<String, String> prop; public User() { ... } public addProp(String column,

我的问题涉及将组件绑定到Vaadin中的数据当使用AddNestedPCContainerProperty拥有1:1关系的bean时,可以绑定嵌套属性

是否可以用一:多关系绑定属性。例如,拥有java类

public class User {

   private String name;
   private Map<String, String> prop;

   public User() { ... } 

   public addProp(String column, String value) {

      prop.put(column, value);
   }

}



public class Users {

   private List<User> users;
}
假设用户列表中的每个用户都将具有与键相同的值。因此,列数始终是相同的(对于用户列表中的每个用户,对于不同的用户列表,列数可能不同)

请检查

一般来说,您做的一切都是正确的,但您的类用户必须根据Vading数据模型实现容器接口:

你注意到了吗

// Creates a new table with caption and connect it to a Container.
Table(String caption, Container dataSource) 
基本上,容器是一个 一组项,但它对其内容施加了某些约束。 这些限制规定如下:

  • 容器中的所有项目必须具有相同数量的属性
  • 容器中的所有项必须具有相同的属性ID(请参见
  • Item.getItemPropertyId())。对应项目中的所有属性 同一属性的ID必须具有相同的数据类型。内的所有项目 容器由其非空ID唯一标识
您可以使用或任何其他实现来节省时间

请同时检查图案说明

愉快的编码。

请检查

一般来说,您做的一切都是正确的,但您的类用户必须根据Vading数据模型实现容器接口:

你注意到了吗

// Creates a new table with caption and connect it to a Container.
Table(String caption, Container dataSource) 
基本上,容器是一个 一组项,但它对其内容施加了某些约束。 这些限制规定如下:

  • 容器中的所有项目必须具有相同数量的属性
  • 容器中的所有项必须具有相同的属性ID(请参见
  • Item.getItemPropertyId())。对应项目中的所有属性 同一属性的ID必须具有相同的数据类型。内的所有项目 容器由其非空ID唯一标识
您可以使用或任何其他实现来节省时间

请同时检查图案说明


愉快的编码。

您可以手动完成,不是通过绑定数据源,而是通过向表中添加项(addItem()方法)。您可以手动完成,不是通过绑定数据源,而是通过向表中添加项(addItem()方法)。
// Creates a new table with caption and connect it to a Container.
Table(String caption, Container dataSource)