package com.smartgwt.sample.showcase.client.grid.expando;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.types.ExpansionMode;
import com.smartgwt.client.widgets.Canvas;
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.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
import com.smartgwt.sample.showcase.client.data.CountryData;
public class GridRowExpansionDetailFieldSample extends ShowcasePanel {
private static final String DESCRIPTION =
"<p>This grid displays some fields from the Countries dataSource. You can expand a row by clicking the special " +
"expansionField to see the details of the selected country's background in the expanded section.</p>";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
GridRowExpansionDetailFieldSample panel = new GridRowExpansionDetailFieldSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
ListGrid listGrid = new ListGrid() {
@Override
protected Canvas getExpansionComponent(ListGridRecord record) {
Canvas canvas = super.getExpansionComponent(record);
canvas.setMargin(5);
return canvas;
}
};
listGrid.setWidth(600);
listGrid.setHeight(500);
listGrid.setCanExpandRecords(true);
listGrid.setExpansionMode(ExpansionMode.DETAIL_FIELD);
listGrid.setDetailField("background");
ListGridField nameField = new ListGridField("countryName", "Country");
ListGridField capitalField = new ListGridField("capital", "Capital");
ListGridField continentField = new ListGridField("continent", "Continent");
listGrid.setFields(nameField, capitalField, continentField);
listGrid.setData(CountryData.getRecords());
return listGrid;
}
public String getIntro() {
return DESCRIPTION;
}
}