Code:
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.extjs.gxt.ui.client.data.BaseModel;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.grid.CellSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
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.HeaderGroupConfig;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
public class GridExamples implements EntryPoint
{
ListStore<CarModel> store = new ListStore<CarModel>();
ArrayList<CarModel> cars = new ArrayList<CarModel>();
public void onModuleLoad()
{
addcars();
store.add( cars );
List<ColumnConfig> col = new ArrayList<ColumnConfig>();
ColumnConfig column = new ColumnConfig();
column.setId( "car_company" );
column.setHeader( "Company Name" );
column.setWidth( 100 );
col.add( column );
column = new ColumnConfig();
column.setId( "car_model" );
column.setHeader("Car Model");
column.setWidth( 100 );
col.add( column );
column = new ColumnConfig();
column.setId( "car_value" );
column.setHeader( "Price" );
column.setWidth( 100 );
col.add( column );
column = new ColumnConfig();
column.setId( "car_year" );
column.setHeader( "Manufacting Year" );
column.setWidth( 100 );
col.add( column );
ColumnModel cm = new ColumnModel( col );
HeaderGroupConfig lHeader1 = new HeaderGroupConfig("Header1",1,2);
cm.addHeaderGroup( 0, 0, lHeader1 );
Grid lGrid = new Grid<CarModel>( store, cm );
lGrid.setHeight( 300 );
lGrid.setWidth( 500 );
lGrid.setSelectionModel(new CellSelectionModel<ModelData>());
RootPanel.get().add( lGrid );
}
private void addcars()
{
cars.add( new CarModel( "SAAB", "9000", 1994, 3550.50 ) );
cars.add( new CarModel( "SAAB", "93", 2001, 12450.00 ) );
cars.add( new CarModel( "BMW", "318i", 1999, 13440.10 ) );
cars.add( new CarModel( "BMW", "X5", 2005, 46020.50 ) );
cars.add( new CarModel( "VW", "GOLF", 2001, 16200.60 ) );
cars.add( new CarModel( "VW", "PASSAT", 2007, 67400.00 ) );
cars.add( new CarModel( "Peugeot", "307", 2001, 13200.00 ) );
cars.add( new CarModel( "Peugeot", "205 GTI", 1986, 5430.15 ) );
cars.add( new CarModel( "Lexus", "ES 300", 2001, 32100.80 ) );
cars.add( new CarModel( "Toyota", "Prius", 2006, 29604.47 ) );
}
private class CarModel extends BaseModel implements Serializable
{
private static final long serialVersionUID = 1L;
public CarModel( String mk, String ml, Integer y )
{
set( "car_company", mk );
set( "car_model", ml );
set( "car_year", y );
}
public CarModel( String mk, String ml, Integer y, Double v )
{
this( mk, ml, y );
set( "car_value", v );
}
public String getCompany()
{
return (String)get( "car_company" );
}
public Integer getYear()
{
return (Integer)get( "car_year" );
}
}
}
Also, the same mis-alignment does not exist when opened in Mozilla.