package com.smartgwt.sample.showcase.client.combobox;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.SelectItem;
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.ItemSupplyXmlDS;
public class DropdownListGridSample extends ShowcasePanel {
private static final String DESCRIPTION = "The SelectItem displays multiple fields in a ListGrid. You can scroll " +
"to dynamically load more records. This pattern works with any DataSource.";
public static class Factory implements PanelFactory {
private String id;
public ShowcasePanel create() {
DropdownListGridSample panel = new DropdownListGridSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
DataSource supplyItemDS = ItemSupplyXmlDS.getInstance();
final DynamicForm form = new DynamicForm();
form.setWidth(300);
ListGridField itemField = new ListGridField("itemName");
ListGridField unitsField = new ListGridField("units");
ListGridField unitCostField = new ListGridField("unitCost");
SelectItem item = new SelectItem("itemID");
item.setWidth(240);
item.setTitle("Item");
item.setOptionDataSource(supplyItemDS);
item.setValueField("SKU");
item.setDisplayField("itemName");
item.setPickListWidth(450);
item.setPickListFields(itemField, unitsField, unitCostField);
form.setItems(item);
return form;
}
public String getIntro() {
return DESCRIPTION;
}
}