PDA

View Full Version : Combo box and editorGridPanel



bozzoz
12 Aug 2010, 10:19 PM
Hello, in my editorGridPanel I have 5 comboBox that they show the same values: 'Si','No'. Can I use the same datastore for all comboBox?

EditorGridPanel:


MyEditorGridUi = Ext.extend(Ext.grid.EditorGridPanel, {
store: 'storeElencoUtenti',
border: false,
itemId: 'egElencoUtenti',
initComponent: function() {
this.columns = [
{
xtype: 'gridcolumn',
dataIndex: 'id_utente',
header: 'id',
sortable: true,
width: 100,
editor: {
xtype: 'textfield',
name: 'id_utente',
itemId: 'id_utente',
ref: '../id_utente'
}
},
{
xtype: 'gridcolumn',
dataIndex: 'nominativo',
header: 'Nominativo',
sortable: true,
width: 100,
editor: {
xtype: 'textfield',
name: 'nominativo',
itemId: 'nominativo',
ref: '../nominativo'
}
},
{
xtype: 'gridcolumn',
dataIndex: 'username',
header: 'Username',
sortable: true,
width: 100,
editor: {
xtype: 'textfield',
name: 'username',
itemId: 'username',
ref: '../username'
}
},
{
xtype: 'gridcolumn',
header: 'Tel. interno',
sortable: true,
width: 100,
dataIndex: 'telefono_interno',
editor: {
xtype: 'numberfield',
name: 'telefono_interno',
itemId: 'telefono_interno',
ref: '../telefono_interno'
}
},
{
xtype: 'gridcolumn',
header: 'Cellulare',
sortable: true,
width: 100,
dataIndex: 'cellulare',
editor: {
xtype: 'numberfield',
itemId: 'cellulare',
name: 'username',
ref: '../username'
}
},
{
xtype: 'gridcolumn',
header: 'Email',
sortable: true,
width: 100,
dataIndex: 'email',
editor: {
xtype: 'textfield',
itemId: 'email',
name: 'email',
vtype: 'email',
ref: '../email'
}
},
{
xtype: 'gridcolumn',
header: 'Mod. clienti',
sortable: true,
width: 100,
dataIndex: 'modulo_clienti',
editor: {
xtype: 'combo',
itemId: 'modulo_clienti',
name: 'modulo_clienti',
store: 'storeSiNo',
displayField: 'Opzione',
valueField: 'Valore',
ref: '../modulo_clienti'
}
},
{
xtype: 'gridcolumn',
header: 'Mod. Fatture',
sortable: true,
width: 100,
dataIndex: 'modulo_fatturazione',
editor: {
xtype: 'combo',
itemId: 'modulo_fatturazione',
name: 'modulo_fatturazione',
store: 'storeSiNo',
valueField: 'Valore',
displayField: 'Opzione',
ref: '../modulo_fatturazione'
}
},
{
xtype: 'gridcolumn',
header: 'Mod. Preventivi',
sortable: true,
width: 100,
dataIndex: 'modulo_preventivi',
editor: {
xtype: 'combo',
itemId: 'modulo_preventvi',
name: 'modulo_preventvi',
store: 'storeSiNo',
valueField: 'Valore',
displayField: 'Opzione',
ref: '../modulo_preventvi'
}
},
{
xtype: 'gridcolumn',
header: 'Mod. Magazzino',
sortable: true,
width: 100,
dataIndex: 'modulo_magazzino',
editor: {
xtype: 'combo',
itemId: 'modulo_magazzino',
name: 'modulo_magazzino',
store: 'storeSiNo',
valueField: 'Valore',
displayField: 'Opzione',
forceSelection: true,
ref: '../modulo_magazzino'
}
},
{
xtype: 'gridcolumn',
header: 'Mod. Amm.',
sortable: true,
width: 100,
dataIndex: 'modulo_amministrazione',
editor: {
xtype: 'combo',
itemId: 'modulo_amministrazione',
name: 'modulo_amministrazione',
store: 'storeSiNo',
valueField: 'Valore',
displayField: 'Opzione',
ref: '../modulo_amministrazione'
}
}
];
this.bbar = {
xtype: 'paging',
store: 'storeElencoUtenti',
buttonAlign: 'center',
itemId: 'ptElencoUtenti',
displayInfo: true,
ref: 'ptElencoUtenti'
};
MyEditorGridUi.superclass.initComponent.call(this);
}
});

storeSiNo


storeSiNo = Ext.extend(Ext.data.ArrayStore, {
constructor: function(cfg) {
cfg = cfg || {};
storeSiNo.superclass.constructor.call(this, Ext.apply({
storeId: 'storeSiNo',
data: [
[
'Si',
'Si'
],
[
'No',
'No'
]
],
fields: [
{
name: 'Opzione',
type: 'string'
},
{
name: 'Valore',
type: 'string'
}
]
}, cfg));
}
});
new storeSiNo();


Why combobox don't show the values?

Thanks

jarrednicholls
13 Aug 2010, 3:17 AM
Hi bozzoz,

Yes you can use the same store for all of the ComboBoxes, they will each maintain their selection value separately.

The values will show if you specify mode: 'local' and triggerAction: 'all' on each ComboBox.

Hope that helps!

bozzoz
13 Aug 2010, 3:30 AM
Thank you Jarred now work perfectly!