Dropdown ListGrid Sample (Smart GWT) : ComboBox « GWT « Java






Dropdown ListGrid Sample (Smart GWT)

Dropdown ListGrid Sample (Smart GWT)
   
/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */

package com.smartgwt.sample.showcase.client;


import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.fields.DataSourceBooleanField;
import com.smartgwt.client.data.fields.DataSourceDateField;
import com.smartgwt.client.data.fields.DataSourceEnumField;
import com.smartgwt.client.data.fields.DataSourceFloatField;
import com.smartgwt.client.data.fields.DataSourceIntegerField;
import com.smartgwt.client.data.fields.DataSourceTextField;
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.form.validator.FloatPrecisionValidator;
import com.smartgwt.client.widgets.form.validator.FloatRangeValidator;
import com.smartgwt.client.widgets.grid.ListGridField;

public class Showcase implements EntryPoint{

    public void onModuleLoad() {
       RootPanel.get().add(getViewPanel());
    }


    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;     
    }
}

class ItemSupplyXmlDS extends DataSource {

  private static ItemSupplyXmlDS instance = null;

  public static ItemSupplyXmlDS getInstance() {
      if (instance == null) {
          instance = new ItemSupplyXmlDS("supplyItemDS");
      }
      return instance;
  }

  public ItemSupplyXmlDS(String id) {

      setID(id);
      setRecordXPath("/List/supplyItem");
      DataSourceIntegerField pkField = new DataSourceIntegerField("itemID");
      pkField.setHidden(true);
      pkField.setPrimaryKey(true);

      DataSourceTextField itemNameField = new DataSourceTextField("itemName", "Item Name", 128, true);
      DataSourceTextField skuField = new DataSourceTextField("SKU", "SKU", 10, true);

      DataSourceTextField descriptionField = new DataSourceTextField("description", "Description", 2000);
      DataSourceTextField categoryField = new DataSourceTextField("category", "Category", 128, true);
      categoryField.setForeignKey("supplyCategoryDS.categoryName");

      DataSourceEnumField unitsField = new DataSourceEnumField("units", "Units", 5);
      unitsField.setValueMap("Roll", "Ea", "Pkt", "Set", "Tube", "Pad", "Ream", "Tin", "Bag", "Ctn", "Box");

      DataSourceFloatField unitCostField = new DataSourceFloatField("unitCost", "Unit Cost", 5);
      FloatRangeValidator rangeValidator = new FloatRangeValidator();
      rangeValidator.setMin(0);
      rangeValidator.setErrorMessage("Please enter a valid (positive) cost");

      FloatPrecisionValidator precisionValidator = new FloatPrecisionValidator();
      precisionValidator.setPrecision(2);
      precisionValidator.setErrorMessage("The maximum allowed precision is 2");

      unitCostField.setValidators(rangeValidator, precisionValidator);

      DataSourceBooleanField inStockField = new DataSourceBooleanField("inStock", "In Stock");

      DataSourceDateField nextShipmentField = new DataSourceDateField("nextShipment", "Next Shipment");

      setFields(pkField, itemNameField, skuField, descriptionField, categoryField, unitsField,
                unitCostField, inStockField, nextShipmentField);

      setDataURL("ds/test_data/supplyItem.data.xml");
      setClientOnly(true);        
  }
}

   
    
    
  








SmartGWT.zip( 9,880 k)

Related examples in the same category

1.ComboBox databinding with DataSource (Smart GWT)ComboBox databinding with DataSource (Smart GWT)
2.A simple ComboBoxItem (Smart GWT)A simple ComboBoxItem (Smart GWT)
3.Editable ComboBox: Select Other from the drop down to enter a custom value (Smart GWT)Editable ComboBox: Select Other from the drop down to enter a custom value (Smart GWT)
4.Local And Databound ComboBox Sample (Smart GWT)Local And Databound ComboBox Sample (Smart GWT)
5.Drag to select time range to create new event (Smart GWT)Drag to select time range to create new event (Smart GWT)
6.Data Bounded Calendar Sample (Smart GWT)Data Bounded Calendar Sample (Smart GWT)
7.Calendar view: day week month (Smart GWT)Calendar view: day week month (Smart GWT)
8.Custom Event Calendar Sample (Smart GWT)Custom Event Calendar Sample (Smart GWT)
9.A SelectItem with icons (Smart GWT)A SelectItem with icons (Smart GWT)
10.A SelectItem with styled entries (Smart GWT)A SelectItem with styled entries (Smart GWT)
11.Using ComboBoxItem to create simple combobox (Smart GWT)Using ComboBoxItem to create simple combobox (Smart GWT)
12.Dropdown with highlight (Smart GWT)Dropdown with highlight (Smart GWT)
13.Adding image to dropdown (Smart GWT)Adding image to dropdown (Smart GWT)
14.A combobox with styled entries (Smart GWT)A combobox with styled entries (Smart GWT)
15.Auto-complete ComboBox (Ext GWT)Auto-complete ComboBox (Ext GWT)