() {
@Override
public void render(Context context, Stock value, SafeHtmlBuilder sb) {
sb.appendHtmlConstant("Company:" + value.getName() + "
");
sb.appendHtmlConstant("
");
sb.appendHtmlConstant("Summary: " + desc);
}
});
ColumnConfig nameCol = new ColumnConfig(props.name(), 200, "Company");
ColumnConfig symbolCol = new ColumnConfig(props.symbol(), 100, "Symbol");
ColumnConfig lastCol = new ColumnConfig(props.last(), 75, "Last");
ColumnConfig changeCol = new ColumnConfig(props.change(), 100, "Change");
changeCol.setCell(new AbstractCell() {
@Override
public void render(Context context, Double value, SafeHtmlBuilder sb) {
String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
String v = number.format(value);
sb.appendHtmlConstant("" + v + "");
}
});
ColumnConfig lastTransCol = new ColumnConfig(props.lastTrans(), 100, "Last Updated");
lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));
List> l = new ArrayList>();
l.add(expander);
l.add(nameCol);
l.add(symbolCol);
l.add(lastCol);
l.add(changeCol);
l.add(lastTransCol);
ColumnModel cm = new ColumnModel(l);
ListStore store = new ListStore(props.key());
store.addAll(TestData.getStocks());
ContentPanel cp = new ContentPanel();
cp.setHeadingText("RowExpander Grid");
cp.getHeader().setIcon(ExampleImages.INSTANCE.table());
cp.setPixelSize(600, 320);
cp.addStyleName("margin-10");
final Grid grid = new Grid(store, cm);
grid.getView().setAutoExpandColumn(nameCol);
grid.setBorders(false);
grid.setStripeRows(true);
grid.setColumnLines(true);
expander.initPlugin(grid);
cp.setWidget(grid);
return cp;
}
@Override
public void onModuleLoad() {
RootPanel.get().add(asWidget());
}
}