Widget Render Grid In Ext GWT


Widget Render 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.client.Examples;  
  7. import com.extjs.gxt.samples.resources.client.Resources;  
  8. import com.extjs.gxt.ui.client.Style.HorizontalAlignment;  
  9. import com.extjs.gxt.ui.client.data.BaseListLoader;  
  10. import com.extjs.gxt.ui.client.data.HttpProxy;  
  11. import com.extjs.gxt.ui.client.data.ListLoadResult;  
  12. import com.extjs.gxt.ui.client.data.ModelData;  
  13. import com.extjs.gxt.ui.client.data.ModelType;  
  14. import com.extjs.gxt.ui.client.data.XmlLoadResultReader;  
  15. import com.extjs.gxt.ui.client.event.ButtonEvent;  
  16. import com.extjs.gxt.ui.client.event.SelectionListener;  
  17. import com.extjs.gxt.ui.client.store.ListStore;  
  18. import com.extjs.gxt.ui.client.widget.ContentPanel;  
  19. import com.extjs.gxt.ui.client.widget.LayoutContainer;  
  20. import com.extjs.gxt.ui.client.widget.button.Button;  
  21. import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;  
  22. import com.extjs.gxt.ui.client.widget.grid.ColumnModel;  
  23. import com.extjs.gxt.ui.client.widget.grid.Grid;  
  24. import com.extjs.gxt.ui.client.widget.layout.FitLayout;  
  25. import com.extjs.gxt.ui.client.widget.layout.FlowLayout;  
  26. import com.google.gwt.core.client.GWT;  
  27. import com.google.gwt.http.client.RequestBuilder;  
  28. import com.google.gwt.user.client.Element;  
  29.   
  30. public class XmlGridExample extends LayoutContainer {  
  31.   
  32.   @Override  
  33.   protected void onRender(Element parent, int index) {  
  34.     super.onRender(parent, index);  
  35.     setLayout(new FlowLayout(10));  
  36.   
  37.     List<ColumnConfig> columns = new ArrayList<ColumnConfig>();  
  38.     columns.add(new ColumnConfig("Sender""Sender"100));  
  39.     columns.add(new ColumnConfig("Email""Email"165));  
  40.     columns.add(new ColumnConfig("Phone""Phone"100));  
  41.     columns.add(new ColumnConfig("State""State"50));  
  42.     columns.add(new ColumnConfig("Zip""Zip Code"65));  
  43.   
  44.     // create the column model  
  45.     ColumnModel cm = new ColumnModel(columns);  
  46.   
  47.     // defines the xml structure  
  48.     ModelType type = new ModelType();  
  49.     type.setRoot("records");  
  50.     type.setRecordName("record");  
  51.     type.addField("Sender""Name");  
  52.     type.addField("Email");  
  53.     type.addField("Phone");  
  54.     type.addField("State");  
  55.     type.addField("Zip");  
  56.   
  57.     // Determine if Explorer or Example for XML path  
  58.     String path = GWT.getHostPageBaseURL() + (Examples.isExplorer() ? "" : "../../") + "data/data.xml";  
  59.   
  60.     // use a http proxy to get the data  
  61.     RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);  
  62.     HttpProxy<String> proxy = new HttpProxy<String>(builder);  
  63.   
  64.     // need a loader, proxy, and reader  
  65.     XmlLoadResultReader<ListLoadResult<ModelData>> reader = new XmlLoadResultReader<ListLoadResult<ModelData>>(type);  
  66.   
  67.     final BaseListLoader<ListLoadResult<ModelData>> loader = new BaseListLoader<ListLoadResult<ModelData>>(proxy,  
  68.         reader);  
  69.   
  70.     ListStore<ModelData> store = new ListStore<ModelData>(loader);  
  71.     final Grid<ModelData> grid = new Grid<ModelData>(store, cm);  
  72.     grid.setBorders(true);  
  73.     grid.setLoadMask(true);  
  74.     grid.getView().setEmptyText("Please hit the load button.");  
  75.     grid.setAutoExpandColumn("Sender");  
  76.   
  77.     ContentPanel panel = new ContentPanel();  
  78.     panel.setFrame(true);  
  79.     panel.setCollapsible(true);  
  80.     panel.setAnimCollapse(false);  
  81.     panel.setButtonAlign(HorizontalAlignment.CENTER);  
  82.     panel.setIcon(Resources.ICONS.table());  
  83.     panel.setHeading("XML Table Demo");  
  84.     panel.setLayout(new FitLayout());  
  85.     panel.add(grid);  
  86.     panel.setSize(575350);  
  87.   
  88.     // add buttons  
  89.     Button load = new Button("Load XML"new SelectionListener<ButtonEvent>() {  
  90.       public void componentSelected(ButtonEvent ce) {  
  91.         loader.load();  
  92.       }  
  93.     });  
  94.   
  95.     panel.addButton(load);  
  96.   
  97.     add(panel);  
  98.   
  99.   }  
  100.   
  101. }  

Comments

Popular posts from this blog

Five More Indian Languages - Google Translate

Connect To JioFi Device Without Knowing The Passwords Using WPS