When a combobox (org.zkoss.zul.Combobox) is assigned with a model, a default renderer is assigned too1. The default renderer will assume that the combobox displays the data as a string2. If you want to display more sophisticated information or retrieve a particular field of the data, you have to implement org.zkoss.zul.ComboitemRenderer to handle the rendering.

For example,

public class MyRenderer implements ComboitemRenderer {
    public void render(Comboitem item, Object data, int index) throws Exception {
        item.setLabel(((User)data).getName());
        item.setDescription(((User)data).getDescription());
    }
}

Version History

Version Date Content
6.0.0 February 2012 The index argument was introduced.
  1. For the concept about component, model and renderer, please refer to the Model-driven Display section

  2. If the tree is assigned a template called model, then the template will be used to render the tree. For more information, please refer to the Tree Template section