package com.smartgwt.sample.showcase.client.grid.grouping; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.GroupStartOpen; import com.smartgwt.client.types.ListGridEditEvent; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; import com.smartgwt.sample.showcase.client.data.CountryXmlDS; public class GroupedEditingSample extends ShowcasePanel { private static final String DESCRIPTION = "<p>Inline editing works normally with grouped data. Try editing the field that records are grouped by and notice that the record moves to its new group automatically.</p>"; public static class Factory implements PanelFactory { private String id; public Canvas create() { GroupedEditingSample panel = new GroupedEditingSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { CountryXmlDS dataSource = CountryXmlDS.getInstance(); ListGrid countryGrid = new ListGrid(); countryGrid.setCanEdit(true); countryGrid.setWidth(522); countryGrid.setHeight(224); countryGrid.setShowAllRecords(true); countryGrid.setCellHeight(22); countryGrid.setCanEdit(true); countryGrid.setEditEvent(ListGridEditEvent.CLICK); countryGrid.setGroupStartOpen(GroupStartOpen.ALL); countryGrid.setGroupByField("continent"); countryGrid.setDataSource(dataSource); 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"); ListGridField governmentField = new ListGridField("government"); ListGridField continentField = new ListGridField("continent"); countryGrid.setFields(countryCodeField, nameField, governmentField, continentField); countryGrid.setAutoFetchData(true); return countryGrid; } public String getIntro() { return DESCRIPTION; } }