我正在使用Hibernate MySQL编写基本的CRUD应用程序。 添加新记录没问题,但在编辑现有记录时,我现在有一些麻烦,使现有记录的值默认显示为选定的项目。 下面是相关代码:无论我做什么,Vaadin combobox.select()都不起作用
Criteria criteriaz = session.createCriteria(Organisation.class);
final List<Organisation> orgList = criteriaz.list();
BeanItemContainer<Organisation> srcOrgs = new BeanItemContainer<Organisation>(Organisation.class);
srcOrgs.addAll(orgList);
organisationId.setInvalidAllowed(false);
organisationId.setNullSelectionAllowed(false);
organisationId.setContainerDataSource(srcOrgs);
organisationId.setItemCaptionMode(ItemCaptionMode.PROPERTY);
organisationId.setItemCaptionPropertyId("name");
for (Organisation mOrg : orgList) {
if (mOrg.getRowid().equals(activity.getOrganisationId()))
mOrgID = mOrg.getName();
}
organisationId.select(mOrgID);
什么我错在这里做什么?
有了细微的变化,两者的答案(几乎)是正确的。如果您查看[bean item contaier](https://vaadin.com/book/-/page/datamodel.container.html#datamodel.container.beanitemcontainer),主要想法是它将bean自身用作ID为项目。因此,在识别应选择的组织(通过其ID,名称等)之后,可以使用特定实例从列表中选择适当的项目。 – Morfic