From Documentation

Jump to: navigation, search

When a grid (Grid) is assigned with a model, a default renderer is assigned too[1]. The default renderer will assume that each row has only one column, and it converts the data into a string directly[2]. If you want to display multiple columns or retrieve a particular field of the data, you have to implement RowRenderer to handle the rendering.

For example,

public class FoodGroupRenderer implements RowRenderer, {
    public void render(Row row, Object obj, int index) {
        if (row instanceof Group) {
            row.appendChild(new Label(obj.toString()));
        } else {
            User user = (User) obj;
            row.appendChild(new Label(user.getName()));
            row.appendChild(new Label(user.getDescription()));
            row.appendChild(new Label(user.getDomain()));

  1. For the concept about component, model and renderer, please refer to the Model-driven Display section.
  2. If the grid is assigned a template called model, then the template will be used to render the grid. For more information, please refer to the Grid Template section.

Version History

Last Update : 2012/2/8

Version Date Content
6.0.0 February 2012 The index argument was introduced.

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.

You got stuck here?
Let us know how we can improve this page
For specific questions please use the forum