Local Paging Grid In Ext GWT

Local Paging Grid In Ext GWT  Sample Code


  1. package com.extjs.gxt.samples.client.examples.grid;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import com.extjs.gxt.samples.resources.client.Resources;  
  7. import com.extjs.gxt.samples.resources.client.TestData;  
  8. import com.extjs.gxt.samples.resources.client.model.Stock;  
  9. import com.extjs.gxt.ui.client.Style.HorizontalAlignment;  
  10. import com.extjs.gxt.ui.client.data.BasePagingLoader;  
  11. import com.extjs.gxt.ui.client.data.ModelData;  
  12. import com.extjs.gxt.ui.client.data.PagingLoadResult;  
  13. import com.extjs.gxt.ui.client.data.PagingLoader;  
  14. import com.extjs.gxt.ui.client.data.PagingModelMemoryProxy;  
  15. import com.extjs.gxt.ui.client.store.ListStore;  
  16. import com.extjs.gxt.ui.client.widget.ContentPanel;  
  17. import com.extjs.gxt.ui.client.widget.LayoutContainer;  
  18. import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;  
  19. import com.extjs.gxt.ui.client.widget.grid.ColumnData;  
  20. import com.extjs.gxt.ui.client.widget.grid.ColumnModel;  
  21. import com.extjs.gxt.ui.client.widget.grid.Grid;  
  22. import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;  
  23. import com.extjs.gxt.ui.client.widget.layout.FitLayout;  
  24. import com.extjs.gxt.ui.client.widget.layout.FlowLayout;  
  25. import com.extjs.gxt.ui.client.widget.table.NumberCellRenderer;  
  26. import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;  
  27. import com.google.gwt.i18n.client.DateTimeFormat;  
  28. import com.google.gwt.i18n.client.NumberFormat;  
  29. import com.google.gwt.user.client.Element;  
  30. public class MemoryPagingGridExample extends LayoutContainer {  
  31.   
  32.   @Override  
  33.   protected void onRender(Element parent, int index) {  
  34.     super.onRender(parent, index);  
  35.   
  36.     setLayout(new FlowLayout(10));  
  37.   
  38.     // add paging support for a local collection of models  
  39.     PagingModelMemoryProxy proxy = new PagingModelMemoryProxy(TestData.getStocks());  
  40.   
  41.     // loader  
  42.     PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy);  
  43.     loader.setRemoteSort(true);  
  44.   
  45.     ListStore<Stock> store = new ListStore<Stock>(loader);  
  46.   
  47.     final PagingToolBar toolBar = new PagingToolBar(10);  
  48.     toolBar.bind(loader);  
  49.   
  50.     loader.load(010);  
  51.   
  52.     final NumberFormat currency = NumberFormat.getCurrencyFormat();  
  53.     final NumberFormat number = NumberFormat.getFormat("0.00");  
  54.     final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);  
  55.   
  56.     GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {  
  57.       public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,  
  58.           ListStore<Stock> store, Grid<Stock> grid) {  
  59.         double val = (Double) model.get(property);  
  60.         String style = val < 0 ? "red" : "green";  
  61.         return "<span style='color:" + style + "'>" + number.format(val) + "</span>";  
  62.       }  
  63.     };  
  64.   
  65.     GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {  
  66.       public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,  
  67.           ListStore<Stock> store, Grid<Stock> grid) {  
  68.         return numberRenderer.render(null, property, model.get(property));  
  69.       }  
  70.     };  
  71.   
  72.     List<ColumnConfig> configs = new ArrayList<ColumnConfig>();  
  73.   
  74.     ColumnConfig column = new ColumnConfig();  
  75.     column.setId("name");  
  76.     column.setHeader("Company");  
  77.     column.setWidth(200);  
  78.     configs.add(column);  
  79.   
  80.     column = new ColumnConfig();  
  81.     column.setId("symbol");  
  82.     column.setHeader("Symbol");  
  83.     column.setWidth(100);  
  84.     configs.add(column);  
  85.   
  86.     column = new ColumnConfig();  
  87.     column.setId("last");  
  88.     column.setHeader("Last");  
  89.     column.setAlignment(HorizontalAlignment.RIGHT);  
  90.     column.setWidth(75);  
  91.     column.setRenderer(gridNumber);  
  92.     configs.add(column);  
  93.   
  94.     column = new ColumnConfig("change""Change"100);  
  95.     column.setAlignment(HorizontalAlignment.RIGHT);  
  96.     column.setRenderer(change);  
  97.     configs.add(column);  
  98.   
  99.     column = new ColumnConfig("date""Last Updated"100);  
  100.     column.setAlignment(HorizontalAlignment.RIGHT);  
  101.     column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));  
  102.     configs.add(column);  
  103.   
  104.     ColumnModel cm = new ColumnModel(configs);  
  105.   
  106.     ContentPanel cp = new ContentPanel();  
  107.     cp.setFrame(true);  
  108.     cp.setHeading("Local Paging Grid");  
  109.     cp.setIcon(Resources.ICONS.table());  
  110.     cp.setButtonAlign(HorizontalAlignment.CENTER);  
  111.     cp.setLayout(new FitLayout());  
  112.     cp.setBottomComponent(toolBar);  
  113.     cp.setSize(600200);  
  114.   
  115.     Grid<Stock> grid = new Grid<Stock>(store, cm);  
  116.     grid.setBorders(true);  
  117.     grid.setAutoExpandColumn("name");  
  118.     grid.getAriaSupport().setDescribedBy(toolBar.getId() + "-display");  
  119.   
  120.     cp.add(grid);  
  121.   
  122.     add(cp);  
  123.   }  
  124.   
  125. }  

Comments

Popular posts from this blog

Five More Indian Languages - Google Translate

Connect To JioFi Device Without Knowing The Passwords Using WPS