无法在 TwinColSelect 中设置值
Unable to set values in TwinColSelect
我有一个 TwinColSelect 我正在尝试 select 通过值中的代码,但它从来没有。
List<Role> list = new RoleJpaController(DataBaseManager.getEntityManagerFactory()).findRoleEntities();
BeanItemContainer<Role> roleContainer = new BeanItemContainer<>(Role.class, list);
TwinColSelect roles = new TwinColSelect(TRANSLATOR.translate("general.role"));
roles.setContainerDataSource(roleContainer);
roles.setRows(5);
roles.setLeftColumnCaption(TRANSLATOR.translate("available.roles"));
roles.setRightColumnCaption(TRANSLATOR.translate("current.roles"));
roles.setImmediate(true);
list.forEach(r -> {
roles.setItemCaption(r, TRANSLATOR.translate(r.getDescription()));
});
if (user.getUserHasRoleList() != null) {
Set<Role> rs = new HashSet<>();
user.getUserHasRoleList().forEach(uhr -> {
if (uhr.getProjectId() == null) {
LOG.log(Level.INFO, "Selecting role: {0}", uhr.getRole());
rs.add(uhr.getRole());
}
});
roles.setValue(rs);
}
我确实通过调试验证了 select 角色的逻辑是否已执行。
有什么想法吗?
问题是角色 class 的 equals 方法中的错误。修复后它工作正常。
我有一个 TwinColSelect 我正在尝试 select 通过值中的代码,但它从来没有。
List<Role> list = new RoleJpaController(DataBaseManager.getEntityManagerFactory()).findRoleEntities();
BeanItemContainer<Role> roleContainer = new BeanItemContainer<>(Role.class, list);
TwinColSelect roles = new TwinColSelect(TRANSLATOR.translate("general.role"));
roles.setContainerDataSource(roleContainer);
roles.setRows(5);
roles.setLeftColumnCaption(TRANSLATOR.translate("available.roles"));
roles.setRightColumnCaption(TRANSLATOR.translate("current.roles"));
roles.setImmediate(true);
list.forEach(r -> {
roles.setItemCaption(r, TRANSLATOR.translate(r.getDescription()));
});
if (user.getUserHasRoleList() != null) {
Set<Role> rs = new HashSet<>();
user.getUserHasRoleList().forEach(uhr -> {
if (uhr.getProjectId() == null) {
LOG.log(Level.INFO, "Selecting role: {0}", uhr.getRole());
rs.add(uhr.getRole());
}
});
roles.setValue(rs);
}
我确实通过调试验证了 select 角色的逻辑是否已执行。
有什么想法吗?
问题是角色 class 的 equals 方法中的错误。修复后它工作正常。