column = new ColumnConfig("type", "Type", 75);
configs.add(column);
ColumnModel cm = new ColumnModel(configs);
ContentPanel cp = new ContentPanel();
cp.setBodyBorder(true);
cp.setIcon(Resources.ICONS.table());
cp.setHeading("Remote Filter Grid");
cp.setButtonAlign(HorizontalAlignment.CENTER);
cp.setLayout(new FitLayout());
cp.setSize(660, 300);
GridFilters filters = new GridFilters();
NumericFilter last = new NumericFilter("last");
NumericFilter filter = new NumericFilter("change");
StringFilter nameFilter = new StringFilter("name");
DateFilter dateFilter = new DateFilter("date");
BooleanFilter booleanFilter = new BooleanFilter("split");
ListStore<ModelData> typeStore = new ListStore<ModelData>();
typeStore.add(type("Auto"));
typeStore.add(type("Media"));
typeStore.add(type("Medical"));
typeStore.add(type("Tech"));
ListFilter listFilter = new ListFilter("type", typeStore);
listFilter.setDisplayProperty("type");
filters.addFilter(last);
filters.addFilter(nameFilter);
filters.addFilter(filter);
filters.addFilter(dateFilter);
filters.addFilter(booleanFilter);
filters.addFilter(listFilter);
final Grid<Stock> grid = new Grid<Stock>(store, cm);
grid.addListener(Events.Attach, new Listener<BaseEvent>() {
public void handleEvent(BaseEvent be) {
loader.load(0, 25);
}
});
grid.getView().setForceFit(true);
grid.setStyleAttribute("borderTop", "none");
grid.setAutoExpandColumn("name");
grid.setBorders(false);
grid.setStripeRows(true);
grid.setColumnLines(true);
grid.addPlugin(filters);
cp.add(grid);
final PagingToolBar toolBar = new PagingToolBar(25);
toolBar.bind(loader);
cp.setBottomComponent(toolBar);
add(cp);
}