MElshennawy
6 Dec 2011, 1:13 AM
hi,
i'm New in Extjs4 and i have a problem
[why valuefield appear instade of displayfield when i put combobox inside gridpanel]
My Case Is:
I have gridpanel contain users data ,i put ComboBox With Name[displayfield] and Id[Valuefield] .
What Iwant Is:
When user Select name From Combobox ,message appear With the value field .
The problem Is :
When user select name from combobox message appear with the value field but the selected name[displayfield] disappear and the id [Valuefield] Appeared .
Could any one help me Please.
My code :
//================ Create grid to display data from store
var sm = Ext.create('Ext.selection.CheckboxModel');
var grid = new Ext.grid.Panel({
store: myStore,
id: 'ss',
autoExpandColumn: 'username',
selModel: sm,
selType: 'cellmodel',
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 2,
listeners: {
edit: function(e) {
}
}
})
],
columns: [ // Grid columns
{xtype: 'rownumberer', header: 'No' },
{
header: 'Name',
width: 130,
field: {
xtype: 'combobox',
store: namesStore,
allowBlank: true,
name: 'id',
valueField: 'id',
displayField: 'name',
editable: false,
typeAhead: true,
selectOnTab: true,
listeners: {
select: function(combo, record, index) {
alert(combo.getValue());
}
}
}
},
// { dataIndex: 'id', header: 'Id', hidden: true },
// {field: combo1, header: 'Names' },
{dataIndex: 'address', header: 'address', editor: 'textfield' },
{ dataIndex: 'email', header: 'E-mail', editor: 'textfield' },
{ dataIndex: 'hdate', header: 'Date', renderer: Ext.util.Format.dateRenderer('d/m/Y'), editor: 'datefield' }
],
renderTo: 'dvViewData',
width: 600,
height: 300,
tbar: [
{
text: "Add User",
handler: function() {
//make a new empty User and stop any current editing
var newUser = new User({});
// rowEditor.stopEditing();
//add our new record as the first row, select it
grid.store.insert(0, newUser);
grid.getView().refresh();
grid.getSelectionModel().selectRow(0);
//start editing our new User
rowEditor.startEditing(0);
}
}
]
});
i'm New in Extjs4 and i have a problem
[why valuefield appear instade of displayfield when i put combobox inside gridpanel]
My Case Is:
I have gridpanel contain users data ,i put ComboBox With Name[displayfield] and Id[Valuefield] .
What Iwant Is:
When user Select name From Combobox ,message appear With the value field .
The problem Is :
When user select name from combobox message appear with the value field but the selected name[displayfield] disappear and the id [Valuefield] Appeared .
Could any one help me Please.
My code :
//================ Create grid to display data from store
var sm = Ext.create('Ext.selection.CheckboxModel');
var grid = new Ext.grid.Panel({
store: myStore,
id: 'ss',
autoExpandColumn: 'username',
selModel: sm,
selType: 'cellmodel',
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 2,
listeners: {
edit: function(e) {
}
}
})
],
columns: [ // Grid columns
{xtype: 'rownumberer', header: 'No' },
{
header: 'Name',
width: 130,
field: {
xtype: 'combobox',
store: namesStore,
allowBlank: true,
name: 'id',
valueField: 'id',
displayField: 'name',
editable: false,
typeAhead: true,
selectOnTab: true,
listeners: {
select: function(combo, record, index) {
alert(combo.getValue());
}
}
}
},
// { dataIndex: 'id', header: 'Id', hidden: true },
// {field: combo1, header: 'Names' },
{dataIndex: 'address', header: 'address', editor: 'textfield' },
{ dataIndex: 'email', header: 'E-mail', editor: 'textfield' },
{ dataIndex: 'hdate', header: 'Date', renderer: Ext.util.Format.dateRenderer('d/m/Y'), editor: 'datefield' }
],
renderTo: 'dvViewData',
width: 600,
height: 300,
tbar: [
{
text: "Add User",
handler: function() {
//make a new empty User and stop any current editing
var newUser = new User({});
// rowEditor.stopEditing();
//add our new record as the first row, select it
grid.store.insert(0, newUser);
grid.getView().refresh();
grid.getSelectionModel().selectRow(0);
//start editing our new User
rowEditor.startEditing(0);
}
}
]
});