import com.google.gwt.i18n.client.NumberFormat;  
import com.smartgwt.client.types.Alignment;  
import com.smartgwt.client.types.ListGridFieldType;  
import com.smartgwt.client.types.SelectionAppearance; 
import com.smartgwt.client.types.ListGridEditEvent;  
import com.smartgwt.client.types.ListGridFieldType;  
import com.smartgwt.client.widgets.Canvas;  
import com.smartgwt.client.widgets.grid.CellFormatter;  
import com.smartgwt.client.widgets.grid.ListGrid;  
import com.smartgwt.client.widgets.grid.ListGridField;  
import com.smartgwt.client.widgets.grid.ListGridRecord;  
import com.smartgwt.sample.showcase.client.data.CountryXmlDS;  
  
import com.google.gwt.core.client.EntryPoint;  
  
public class GridEditByCellSample implements EntryPoint {  
  
    public void onModuleLoad() {  
  
        final ListGrid countryGrid = new ListGrid();  
        countryGrid.setWidth(600);  
        countryGrid.setHeight(224);  
        countryGrid.setShowAllRecords(true);  
        countryGrid.setSelectionType(SelectionStyle.SIMPLE);  
        countryGrid.setSelectionAppearance(SelectionAppearance.CHECKBOX);        
        // use server-side dataSource so edits are retained across page transitions  
        countryGrid.setDataSource(CountryXmlDS.getInstance());  
  
        ListGridField countryCodeField = new ListGridField("countryCode", "Flag", 40);  
        countryCodeField.setAlign(Alignment.CENTER);  
        countryCodeField.setType(ListGridFieldType.IMAGE);  
        countryCodeField.setImageURLPrefix("flags/16/");  
        countryCodeField.setImageURLSuffix(".png");  
        countryCodeField.setCanEdit(false);  
  
        ListGridField nameField = new ListGridField("countryName", "Country");  
        ListGridField continentField = new ListGridField("continent", "Continent");  
        ListGridField memberG8Field = new ListGridField("member_g8", "Member G8");  
        ListGridField populationField = new ListGridField("population", "Population");  
        populationField.setType(ListGridFieldType.INTEGER);  
        ListGridField independenceField = new ListGridField("independence", "Independence", 130);  
        countryGrid.setFields(countryCodeField, nameField,continentField, memberG8Field, populationField, independenceField);  
  
        countryGrid.setAutoFetchData(true);  
        countryGrid.setCanEdit(true);  
        countryGrid.setEditEvent(ListGridEditEvent.CLICK);  
        countryGrid.setEditByCell(true);  
  
        countryGrid.draw();  
    }  
  
}  