Hybrid View
-
19 Feb 2009 11:49 PM #1
different values for a ComboBox on each row of an EditorGrid
different values for a ComboBox on each row of an EditorGrid
Hello,
I'm trying to manage different values for a ComboBox on each row of an EditorGrid.
Basically, a column of the grid is a ComboBox whose selectable values are not statically defined at grid build time, but change every time the user selects a different row.
Currently I'm using gwt-ext where they provided a method setUserCustomCellEditor on ColumnModel. You can pass it a subclass of UserCustomCellEditor. It's got one method, public GridEditor getCellEditor(int colIndex, int rowIndex). It's called any time a cell is about to enter editing. It gives me the ability to initialize the ComboBox with different values.
How can I do it with Ext GWT?
Thanks.
Andrea
-
12 Jan 2011 1:53 PM #2
We are looking for this functionality as well in GXT where we can override a ColumnModel method getCellEditor(col, row) and provide a row specific cell editor for an EditorGrid.
Has anyone achieved this ?
Thanks,
Sean
-
9 Jan 2012 3:13 AM #3
different cell editors in each row
different cell editors in each row
Hi all,
we would also need the functionality in GXT to have different cell editors depending on the actual row data...
Has anyone found a solution so far?
Thanks,
Gergely
-
27 Feb 2012 11:56 PM #4
Hi everyone,
we actually found a solution for ExtJS maybe it can be adapted for GWT:
Grid-Col has an editor:
then there is a function getComboValues:PHP Code:{
xtype:'editorgrid',
id: 'somegrid',
store: this.store,
cm: new Ext.grid.ColumnModel([
{
id:'some_category',
header: 'Category',
dataIndex: 'category_id',
renderer: this.getCategoryText
},
{
id:'category_val',
header: 'Value',
dataIndex: 'value_id',
renderer: this.getValueText,
editor: new Ext.form.ComboBox({
id: 'value',
name: 'value',
mode: 'local',
store: this.valueStore, //this is an empty store
valueField:'value_id',
displayField:'value_text'
})
}
]),
listeners:{
beforeedit:this.getComboValues
}
}// -- eo grid
hope i could helpPHP Code:function getComboValues(e){
var combobox = Ext.getCmp('value');
//create tmp store for impact levels
var tmpStore = new Ext.data.Store({
reader: new Ext.data.JsonReader({
root:'data',
id: 'value_id',
fields:['value_id','value_text']
}, Ext.data.Record.create([
{name: 'value_id'},
{name: 'value_text'}
])),
//fill here your store with the specific data for the combobox
data: e.grid.valueStore.getById(e.record.get('category_id')).data
});
//bind the tmpStore to the combobox and set the value that was selected
combobox.bindStore(tmpStore);
combobox.setValue(e.value);
return true;
}
greetz
vidj
-
12 Mar 2012 1:00 AM #5
Thanks vidj!
I will see if I can implement it in GXT. Anyway, if somebody have already got it, do not hesitate to post a reply.
Thanks once more,
Gergely


Reply With Quote