(对不起,如果这是一个新问题)
我有两个JPAContainers,一个用于Employee类/表,一个用于Language类/表.员工可以选择一种语言.
我正在尝试创建一个Employee编辑表单,其中包含用于语言选择的组合框和用于处理绑定和创建的FieldGroup.
我可以通过JPAContainer获取下拉列表以包含来自Languages表的条目,但它不会显示Employee记录中已存在的值.我究竟做错了什么?
//Key parts of code....
private JPAContainer<Employee> employees;
private JPAContainer<Language> languages;
FormLayout formLayout = new FormLayout();
formFieldGroup = new FieldGroup(employeeItem);
Field<?> firstName = formFieldGroup.buildAndBind("First name", "firstName");
Field<?> lastName = formFieldGroup.buildAndBind("Last name", "lastName");
Field<?> userName = formFieldGroup.buildAndBind("Username", "userName");
Field<?> fullName = formFieldGroup.buildAndBind("Full name", "fullName");
Field<?> initials = formFieldGroup.buildAndBind("Initials", "initials");
ComboBox language = new ComboBox("Language",languages);
language.setContainerDataSource(languages);
language.setItemCaptionPropertyId("languageName");
language.setFilteringMode(FilteringMode.CONTAINS);
language.setImmediate(true);
formFieldGroup.bind(language, "language");
firstName.addValidator(new BeanValidator(Employee.class, "firstName"));
lastName.addValidator(new BeanValidator(Employee.class, "lastName"));
firstName.addValidator(new BeanValidator(Employee.class, "userName"));
lastName.addValidator(new BeanValidator(Employee.class, "fullName"));
lastName.addValidator(new BeanValidator(Employee.class, "initials"));
formLayout.addComponent(userName);
formLayout.addComponent(fullName);
formLayout.addComponent(firstName); …Run Code Online (Sandbox Code Playgroud)