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
-~----------~----~----~----~------~----~------~--~---