Select 组合框中的项目选择不起作用
我在选择vaadin组合框中的值时遇到问题,我用从EJB3层获得的对象填充了该组合框。我已经覆盖了类的toString,这样combobox就可以显示所需的属性,而不是object的序列值 试用Select 组合框中的项目选择不起作用,select,combobox,vaadin,Select,Combobox,Vaadin,我在选择vaadin组合框中的值时遇到问题,我用从EJB3层获得的对象填充了该组合框。我已经覆盖了类的toString,这样combobox就可以显示所需的属性,而不是object的序列值 试用 cb.setValue(object) 及 但它不起作用 有什么想法吗 从数据库获取数据的代码: @SuppressWarnings("unchecked") public List<Kontakt> findAll() { log.debug("getting all Kont
cb.setValue(object)
及
但它不起作用
有什么想法吗
从数据库获取数据的代码:
@SuppressWarnings("unchecked")
public List<Kontakt> findAll() {
log.debug("getting all Kontakts");
try {
List<Kontakt> instance = entityManager.createNamedQuery("Kontakt.findAll").getResultList();
log.debug("get successful");
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
equals和hashCode是如何在对象上实现的?是的,正如Henri提到的,检查hashCode和equals是否实现了。我相信有更好的方法来显示值,而不是使用ToString。如何填充组合框?你能展示你的代码让我们看到ClassCheckHashCode和equals实现吗。那你就对了。在实体类中实现hashCode和equals之后,一切都正常了。谢谢
@SuppressWarnings("unchecked")
public List<Kontakt> findAll() {
log.debug("getting all Kontakts");
try {
List<Kontakt> instance = entityManager.createNamedQuery("Kontakt.findAll").getResultList();
log.debug("get successful");
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
cbUstanova = new ComboBox("Ustanova");
cbUstanova.addItems(ustanovaEJB.findAll());
cbUstanova.setRequired(true);