List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
SummaryColumnConfig<Integer> desc = new SummaryColumnConfig<Integer>("description", "Task", 65);
desc.setSummaryType(SummaryType.COUNT);
desc.setSummaryRenderer(new SummaryRenderer() {
public String render(Number value, Map<String, Number> data) {
return value.intValue() > 1 ? "(" + value.intValue() + " Tasks)" : "(1 Task)";
}
});
SummaryColumnConfig<Double> project = new SummaryColumnConfig<Double>("project", "Project", 55);
SummaryColumnConfig<Double> due = new SummaryColumnConfig<Double>("due", "Due Date", 20);
SummaryColumnConfig<Double> estimate = new SummaryColumnConfig<Double>("estimate", "Estimate", 20);
estimate.setRenderer(new GridCellRenderer<Task>() {
public String render(Task model, String property, ColumnData config, int rowIndex, int colIndex,
ListStore<Task> store, Grid<Task> grid) {
return model.get(property) + " hours";
}
});
estimate.setSummaryType(SummaryType.SUM);
estimate.setSummaryRenderer(new SummaryRenderer() {
public String render(Number value, Map<String, Number> data) {
return value.intValue() + " hours";
}
});
estimate.setEditor(new CellEditor(new NumberField()));