PDA

View Full Version : Tabbing Issue on EditorGrid



destinylo
27 Mar 2011, 10:43 PM
Pressing tab is not works for me here:
http://www.sencha.com/examples/explorer.html#editablegrid

25376

Scenario:
When there is only ONE single column (with component (eg, combobox)) on editorGrid, it will cause a out-focus problem while pressing the "TAB" button twice.

Appreciated if you can provide me a temporary solution for this issue. Thanks.

blay
28 Mar 2011, 6:07 AM
Waiting for any answer for this too!

destinylo
20 Apr 2011, 11:50 PM
Any news on this issues ? Many Thanks..

Attached is the sample code for your reference.




class EditableGridExample extends LayoutContainer {

@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);

setLayout(new FlowLayout(10));

List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

final SimpleComboBox<String> combo = new SimpleComboBox<String>();
combo.setForceSelection(true);
combo.setTriggerAction(TriggerAction.ALL);
combo.add("Shade");
combo.add("Mostly Shady");
combo.add("Sun or Shade");
combo.add("Mostly Sunny");
combo.add("Sunny");

CellEditor editor = new CellEditor(combo) {
@Override
public Object preProcessValue(Object value) {
if (value == null) {
return value;
}
return combo.findModel(value.toString());
}

@Override
public Object postProcessValue(Object value) {
if (value == null) {
return value;
}
return ((ModelData) value).get("value");
}
};

ColumnConfig column = new ColumnConfig();
column.setId("light");
column.setHeader("Light");
column.setWidth(130);
column.setEditor(editor);
configs.add(column);

final ListStore<Plant> store = new ListStore<Plant>();
store.add(TestDemoData.getPlants());

ColumnModel cm = new ColumnModel(configs);

ContentPanel cp = new ContentPanel();
cp.setHeading("Edit Plants");
cp.setFrame(true);
cp.setIcon(Resources.ICONS.table());
cp.setSize(600, 300);
cp.setLayout(new FitLayout());

final EditorGrid<Plant> grid = new EditorGrid<Plant>(store, cm);
grid.setAutoExpandColumn("Light");
grid.setBorders(true);
cp.add(grid);

add(cp);
}

}



class Plant extends BaseModelData {

private DateTimeFormat df = DateTimeFormat.getFormat("MM/dd/y");

public Plant() {

}

public Plant(String name, String light, double price, String available, boolean indoor) {
setName(name);
setLight(light);
setPrice(price);
setAvailable(df.parse(available));
setIndoor(indoor);
}

public Date getAvailable() {
return get("available");
}

public void setAvailable(Date available) {
set("available", available);
}

public boolean isIndoor() {
return (Boolean) get("indoor");
}

public void setIndoor(boolean indoor) {
set("indoor", indoor);
}

public String getLight() {
return get("light");
}

public void setLight(String light) {
set("light", light);
}

public String getName() {
return get("name");
}

public void setName(String name) {
set("name", name);
}

public double getPrice() {
return (Double) get("price");
}

public void setPrice(double price) {
set("price", price);
}

}


class TestDemoData {

public static List<Plant> getPlants() {
List<Plant> plants = new ArrayList<Plant>();
plants.add(new Plant("Bloodroot", "Mostly Shady", 2.44, "03/15/2006", true));
plants.add(new Plant("Columbine", "Shade", 9.37, "03/15/2006", true));
plants.add(new Plant("Marsh Marigold", "Mostly Sunny", 6.81, "05/17/2006", false));
plants.add(new Plant("Cowslip", "Mostly Shady", 9.90, "03/06/2006", true));
plants.add(new Plant("Dutchman's-Breeches", "Mostly Shady", 6.44, "01/20/2006", true));
plants.add(new Plant("Ginger, Wild", "Mostly Shady", 9.03, "04/18/2006", true));
plants.add(new Plant("Hepatica", "Sunny", 4.45, "01/26/2006", true));
plants.add(new Plant("Liverleaf", "Mostly Sunny", 3.99, "01/02/2006", true));
plants.add(new Plant("Jack-In-The-Pulpit", "Mostly Shady", 3.23, "02/01/2006", true));
plants.add(new Plant("Mayapple", "Mostly Shady", 2.98, "06/05/2006", true));
plants.add(new Plant("Phlox, Woodland", "Sun or Shade", 2.80, "01/22/2006", false));
plants.add(new Plant("Phlox, Blue", "Sun or Shade", 5.59, "02/16/2006", false));
plants.add(new Plant("Spring-Beauty", "Mostly Shady", 6.59, "02/01/2006", true));
plants.add(new Plant("Trillium", "Sun or Shade", 3.90, "04/29/2006", false));
plants.add(new Plant("Wake Robin", "Sun or Shade", 3.20, "02/21/2006", false));
plants.add(new Plant("Violet, Dog-Tooth", "Shade", 9.04, "02/01/2006", true));
plants.add(new Plant("Trout Lily", "Shade", 6.94, "03/24/2006", true));
plants.add(new Plant("Adder's-Tongue", "Mostly Shady", 6.59, "02/01/2006", true));
plants.add(new Plant("Trillium", "Shade", 9.58, "04/13/2006", true));
plants.add(new Plant("Anemone", "Mostly Shady", 8.86, "12/26/2006", true));
plants.add(new Plant("Grecian Windflower", "Mostly Shady", 9.16, "07/10/2006", true));
plants.add(new Plant("Bee Balm", "Shade", 4.59, "05/03/2006", true));
plants.add(new Plant("Bergamot", "Shade", 7.16, "04/27/2006", true));
plants.add(new Plant("Black-Eyed Susan", "Sunny", 9.80, "06/18/2006", false));
plants.add(new Plant("Buttercup", "Shade", 2.57, "06/10/2006", true));
plants.add(new Plant("Crowfoot", "Shade", 9.34, "04/03/2006", true));
plants.add(new Plant("Butterfly Weed", "Sunny", 2.78, "06/30/2006", false));
plants.add(new Plant("Cinquefoil", "Shade", 7.06, "05/25/2006", true));
plants.add(new Plant("Primrose", "Sunny", 6.56, "01/30/2006", false));
plants.add(new Plant("Gentian", "Sun or Shade", 7.81, "05/18/2006", false));
plants.add(new Plant("Greek Valerian", "Shade", 3.41, "04/03/2006", true));
plants.add(new Plant("California Poppy", "Mostly Shady", 2.78, "05/13/2006", false));
plants.add(new Plant("Shooting Star", "Shade", 7.06, "07/11/2006", true));
plants.add(new Plant("Snakeroot", "Sunny", 6.56, "02/22/2006", false));
plants.add(new Plant("Cardinal Flower", "Shade", 7.81, "05/18/2006", false));
return plants;
}

}