Local Paging Grid In Ext GWT Sample Code
- package com.extjs.gxt.samples.
client.examples.grid; - import java.util.ArrayList;
- import java.util.List;
- import com.extjs.gxt.samples.
resources.client.Resources; - import com.extjs.gxt.samples.
resources.client.TestData; - import com.extjs.gxt.samples.
resources.client.model.Stock; - import com.extjs.gxt.ui.
client.Style. HorizontalAlignment; - import com.extjs.gxt.ui.
client.data.BasePagingLoader; - import com.extjs.gxt.ui.
client.data.ModelData; - import com.extjs.gxt.ui.
client.data.PagingLoadResult; - import com.extjs.gxt.ui.
client.data.PagingLoader; - import com.extjs.gxt.ui.
client.data. PagingModelMemoryProxy; - import com.extjs.gxt.ui.
client.store.ListStore; - import com.extjs.gxt.ui.
client.widget.ContentPanel; - import com.extjs.gxt.ui.
client.widget.LayoutContainer; - import com.extjs.gxt.ui.
client.widget.grid. ColumnConfig; - import com.extjs.gxt.ui.
client.widget.grid.ColumnData; - import com.extjs.gxt.ui.
client.widget.grid. ColumnModel; - import com.extjs.gxt.ui.
client.widget.grid.Grid; - import com.extjs.gxt.ui.
client.widget.grid. GridCellRenderer; - import com.extjs.gxt.ui.
client.widget.layout. FitLayout; - import com.extjs.gxt.ui.
client.widget.layout. FlowLayout; - import com.extjs.gxt.ui.
client.widget.table. NumberCellRenderer; - import com.extjs.gxt.ui.
client.widget.toolbar. PagingToolBar; - import com.google.gwt.i18n.
client.DateTimeFormat; - import com.google.gwt.i18n.
client.NumberFormat; - import com.google.gwt.user.
client.Element; - public class
MemoryPagingGridExample extend s LayoutContainer { - @Override
- protected void onRender(
Element parent, int index) { - super.onRender(parent,
index); - setLayout(new FlowLayout(1
0)); - // add paging support for
a local collection of models - PagingModelMemoryProxy
proxy = new PagingModelMemoryProxy( TestData.getStocks()); - // loader
- PagingLoader<
PagingLoadResult<ModelData>> loader = new BasePagingLoader< PagingLoadResult<ModelData>>( proxy); - loader.setRemoteSort(true)
; - ListStore<Stock> store = n
ew ListStore<Stock>(loader); - final PagingToolBar
toolBar = new PagingToolBar(10 ); - toolBar.bind(loader);
- loader.load(0, 10);
- final NumberFormat
currency = NumberFormat. getCurrencyFormat(); - final NumberFormat number
= NumberFormat.getFormat("0. 00"); - final NumberCellRenderer<
Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid< Stock>>(currency); - GridCellRenderer<Stock>
change = new GridCellRenderer< Stock>() { - public String render(
Stock model, String property, ColumnData config, int rowIndex, int colIndex, - ListStore<Stock>
store, Grid<Stock> grid) { - double val = (Double)
model.get(property); - String style = val < 0
? "red" : "green"; - return "<span style='
color:" + style + "'>" + number.format(val) + "</span>" ; - }
- };
- GridCellRenderer<Stock>
gridNumber = new GridCellRenderer<Stock>() { - public String render(
Stock model, String property, ColumnData config, int rowIndex, int colIndex, - ListStore<Stock>
store, Grid<Stock> grid) { - return numberRenderer.
render(null, property, model. get(property)); - }
- };
- List<ColumnConfig>
configs = new ArrayList< ColumnConfig>(); - ColumnConfig column = new
ColumnConfig(); - column.setId("name");
- column.setHeader("Company"
); - column.setWidth(200);
- configs.add(column);
- column = new ColumnConfig(
); - column.setId("symbol");
- column.setHeader("Symbol")
; - column.setWidth(100);
- configs.add(column);
- column = new ColumnConfig(
); - column.setId("last");
- column.setHeader("Last");
- column.setAlignment(
HorizontalAlignment.RIGHT); - column.setWidth(75);
- column.setRenderer(
gridNumber); - configs.add(column);
- column = new ColumnConfig(
"change", "Change", 100); - column.setAlignment(
HorizontalAlignment.RIGHT); - column.setRenderer(change)
; - configs.add(column);
- column = new ColumnConfig(
"date", "Last Updated", 100); - column.setAlignment(
HorizontalAlignment.RIGHT); - column.setDateTimeFormat(
DateTimeFormat.getFormat("MM/ dd/yyyy")); - configs.add(column);
- ColumnModel cm = new
ColumnModel(configs); - ContentPanel cp = new
ContentPanel(); - cp.setFrame(true);
- cp.setHeading("Local
Paging Grid"); - cp.setIcon(Resources.
ICONS.table()); - cp.setButtonAlign(
HorizontalAlignment.CENTER); - cp.setLayout(new
FitLayout()); - cp.setBottomComponent(
toolBar); - cp.setSize(600, 200);
- Grid<Stock> grid = new
Grid<Stock>(store, cm); - grid.setBorders(true);
- grid.setAutoExpandColumn("
name"); - grid.getAriaSupport().
setDescribedBy(toolBar.getId() + "-display"); - cp.add(grid);
- add(cp);
- }
- }
Comments
Post a Comment