configs.add(column);
final ListStore<Stock> store = new ListStore<Stock>();
store.add(TestData.getStocks());
ColumnModel cm = new ColumnModel(configs);
cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2));
cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2));
AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>();
averages.setHtml("name", "Average");
// with summary type and format
averages.setSummaryType("last", SummaryType.AVG);
averages.setSummaryFormat("last", NumberFormat.getCurrencyFormat());
// with renderer
averages.setSummaryType("change", SummaryType.AVG);
averages.setRenderer("change", new AggregationRenderer<Stock>() {
public Object render(Number value, int colIndex, Grid<Stock> grid, ListStore<Stock> store) {
// you can return html here
return number.format(value.doubleValue());
}
});
cm.addAggregationRow(averages);
averages = new AggregationRowConfig<Stock>();
averages.setHtml("name", "Maximum");
averages.setSummaryType("last", SummaryType.MAX);
averages.setSummaryFormat("last", NumberFormat.getCurrencyFormat());
averages.setSummaryType("change", SummaryType.MAX);
averages.setRenderer("change", new AggregationRenderer<Stock>() {
public Object render(Number value, int colIndex, Grid<Stock> grid, ListStore<Stock> store) {
return number.format(value.doubleValue());
}
});
cm.addAggregationRow(averages);
ContentPanel cp = new ContentPanel();
cp.setCollapsible(true);
cp.setAnimCollapse(false);
cp.setFrame(true);