i am trying to create a Grid with  multiple headers( under one
header , sub headers ) i want this facility

i am new to GWT , i tried some Example code posted by Sanjiv ,

but i cant understand clearly i tried it , it gives separate header
strip , but i dont how to add this in main grid

can i any one help mee, or suggest any example plz

below is  my code



package org.yournamehere.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.ui.RootPanel;
import com.gwtext.client.core.DomQuery;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.*;
import com.gwtext.client.util.CSS;
import com.gwtext.client.widgets.PagingToolbar;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.ToolTip;
import com.gwtext.client.widgets.Viewport;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.NumberField;
import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
import com.gwtext.client.widgets.grid.BaseColumnConfig;
import com.gwtext.client.widgets.grid.CellMetadata;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.Renderer;
//import com.gwtextux.client.data.PagingMemoryProxy;
import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
import java.util.Date;
/**
 *
 * @author Administrator
 */
public class SampleGrid implements EntryPoint {
     public void onModuleLoad() {
       Panel panel = new Panel();
       panel.setBorder(false);
       panel.setPaddings(15);
       MemoryProxy proxy = new MemoryProxy(getCompanyData());
       RecordDef recordDef = new RecordDef(
               new FieldDef[]{
                       new StringFieldDef("company"),
                       new FloatFieldDef("price"),
                       new FloatFieldDef("change"),
                       new FloatFieldDef("pctChange"),
                       new DateFieldDef("lastChanged", "n/j h:ia"),
                       new StringFieldDef("symbol"),
                       new StringFieldDef("industry")
               }
       );


       ArrayReader reader = new ArrayReader(recordDef);
       final Store store = new Store(proxy, reader, true);

        final ColumnConfig company = new ColumnConfig("Company",
"company", 160, true, null, "company");
        ColumnConfig price = new ColumnConfig("Price", "price", 35);
        ColumnConfig change = new ColumnConfig("Change", "change",
45);
        ColumnConfig pctChange = new ColumnConfig("% Change",
"pctChange", 65);
        ColumnConfig lastChanged = new ColumnConfig("Last Updated",
"lastChanged", 65);
        ColumnConfig industry = new ColumnConfig("Industry",
"industry", 60, true);



          ColumnModel columnModel = new ColumnModel(new ColumnConfig[]
{
                company,
                price,
                change,
                lastChanged,
                pctChange,
                industry

        });

    final  GridPanel grid = new GridPanel();
       grid.setStore(store);
       grid.setColumnModel(columnModel);

       grid.setFrame(true);
       grid.setStripeRows(true);
       grid.setAutoExpandColumn("company");
       grid.setWidth(600);
       grid.setHeight(250);
       grid.setTitle("Grid that pages Local / In-Memory data");
       grid.setAutoExpandColumn("company");


   MemoryProxy proxy1 = new MemoryProxy(getCompanyData1());
   RecordDef recordDef1 = new RecordDef(
               new FieldDef[]{
                       new StringFieldDef("lastChanged"),
                       new StringFieldDef("industry")
               }
       );



       ArrayReader reader1 = new ArrayReader(recordDef1);
       final Store store1 = new Store(proxy1, reader1, true);

       ColumnConfig[] columns1 = new ColumnConfig[]{
               //column ID is company which is later used in
setAutoExpandColumn

               new ColumnConfig("Last Updated", "lastChanged", 65),
               new ColumnConfig("Industry", "industry", 60)
       };

         final ColumnConfig lastChanged1 = new ColumnConfig("Last
Updated", "lastChanged", 45, true);
        final ColumnConfig industry1 = new ColumnConfig("Industry",
"industry", 45, true);

        ColumnModel columnModel1 = new ColumnModel(new ColumnConfig[]
{
                 lastChanged1,
                industry1

        });



     final  GridPanel grid1 = new GridPanel();
            grid1.setHeight("70px");
            grid1.setStore(store1);
            grid1.setColumnModel(columnModel1);





      final String EXT_PATH_TO_SCROLLER = " > div/div/div/div[class=x-
grid3-viewport]/div[class=x-grid3-scroller]";

       grid1.addGridListener(new GridListenerAdapter() {
            public void onBodyScroll(int scrollLeft, int scrollTop) {
                Element sourceDiv = DomQuery.selectNode("#"
+lastChanged1 + EXT_PATH_TO_SCROLLER);
                final int scroll = DOM.getElementPropertyInt
((com.google.gwt.user.client.Element) sourceDiv, "scrollLeft");
                Element targetDiv = DomQuery.selectNode("#" +
industry1 + EXT_PATH_TO_SCROLLER);
                DOM.setElementPropertyInt
((com.google.gwt.user.client.Element) targetDiv, "scrollLeft",
scroll);
             //DOM.setElementPropertyInt(w.getElement(), "scrollLeft",
scroll);
            }
        });

 panel.add(grid1);



       final PagingToolbar pagingToolbar = new PagingToolbar(store);
       pagingToolbar.setPageSize(5);
       pagingToolbar.setDisplayInfo(true);
       pagingToolbar.setDisplayMsg("Displaying companies {0} - {1} of
{2}");
       pagingToolbar.setEmptyMsg("No records to display");

       NumberField pageSizeField = new NumberField();
       pageSizeField.setWidth(40);
       pageSizeField.setSelectOnFocus(true);
       pageSizeField.addListener(new FieldListenerAdapter() {
           public void onSpecialKey(Field field, EventObject e) {
               if (e.getKey() == EventObject.ENTER) {
                   int pageSize = Integer.parseInt
(field.getValueAsString());
                   pagingToolbar.setPageSize(pageSize);
               }
           }
       });

       ToolTip toolTip = new ToolTip("Enter page size");
       toolTip.applyTo(pageSizeField);

       pagingToolbar.addField(pageSizeField);
       grid.setBottomToolbar(pagingToolbar);
       store.load(0, 5);




       panel.add(grid);
        Viewport rvprt=new Viewport(panel);
       //RootPanel.get().add(panel);
   }

   private Object[][] getCompanyData() {
       return new Object[][]{
               new Object[]{"3m Co", new Double(71.72), new Double
(0.02),
                       new Double(0.03), "9/1 12:00am", "MMM",
"Manufacturing"},
               new Object[]{"Alcoa Inc", new Double(29.01), new Double
(0.42),
                       new Double(1.47), "9/1 12:00am", "AA",
"Manufacturing"},
               new Object[]{"Altria Group Inc", new Double(83.81), new
Double(0.28),
                       new Double(0.34), "9/1 12:00am", "MO",
"Manufacturing"},
               new Object[]{"American Express Company", new Double
(52.55), new Double(0.01),
                       new Double(0.02), "9/1 12:00am", "AXP",
"Finance"},
               new Object[]{"American International Group, Inc.", new
Double(64.13), new Double(0.31),
                       new Double(0.49), "9/1 12:00am", "AIG",
"Services"},
               new Object[]{"AT&T Inc.", new Double(31.61), new Double
(-0.48),
                       new Double(-1.54), "9/1 12:00am", "T",
"Services"},
               new Object[]{"Boeing Co.", new Double(75.43), new Double
(0.53),
                       new Double(0.71), "9/1 12:00am", "BA",
"Manufacturing"},
               new Object[]{"Caterpillar Inc.", new Double(67.27), new
Double(0.92),
                       new Double(1.39), "9/1 12:00am", "CAT",
"Services"},
               new Object[]{"Citigroup, Inc.", new Double(49.37), new
Double(0.02),
                       new Double(0.04), "9/1 12:00am", "C",
"Finance"},
               new Object[]{"E.I. du Pont de Nemours and Company", new
Double(40.48), new Double(0.51),
                       new Double(1.28), "9/1 12:00am", "DD",
"Manufacturing"}
       };

 }
   private Object[][] getCompanyData1() {
       return new Object[][]{
               new Object[]{   "MMM", "Manufacturing"},
               new Object[]{   "MMM", "Manufacturing"}


       };

 }
}



thanks in advance

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"GWT-Ext Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/gwt-ext?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to