java - vaadin setItemCaptionPropertyId more then one caption in combobox -
i using beanitemcontainer fill combobox, :
//filling combobox userdto's beancontainer beanitemcontainer<subcategorydto> beancontainer = new beanitemcontainer<subcategorydto>( subcategorydto.class); arraylist<subcategorydto> subcategorys = qpc.getsubcategorys(); beancontainer.addall(subcategorys); cmbcategory.setcontainerdatasource(beancontainer); cmbcategory.setitemcaptionmode(itemcaptionmode.id); cmbcategory.setimmediate(true); cmbcategory.setnewitemsallowed(false); cmbcategory.setnullselectionallowed(false); cmbcategory.setitemcaptionpropertyid("name");
the dto has following fields :
public class subcategorydto extends observable implements serializable { private static final long serialversionuid = 1l; private int subcategoryid; private string name; private categorydto category; ...
i let itemcaption of combobox show both name , category name (dto has name field), : categoryname subcategoryname
is there way so? suggestion appreciated! thx
you can set item caption on combobox using itemcaptionmode.explicit
, combo.setitemcaption(id, caption)
or add read property bean:
public class subcategorydto { private string name; private categorydto parent; public string getcaption() { return parent.getname() + " " + name; } }
and use itemcaptionmode.property
, combo.setitemcaptionpropertyid("caption")
. similarly, can put captioning logic inside overridden tostring()
, use itemcaptionmode.item
Comments
Post a Comment