Всем привет.
Есть вот такое
<div id="main-data-grid" class="main-data-grid"></div>
<script type="text/javascript">
Ext.onReady(function() {
//Model
Ext.define('Model', {
extend: 'Ext.data.Model',
fields: ['id', 'combo'],
proxy: {
url: '',
type: 'ajax',
extraParams: {
'_method': 'get',
'params[class]': 'data'
},
reader: {
root: 'data'
}
}
/*
ответ сервера
{
success: 1,
message: "Data loaded success.",
data: [
{
id: "1",
combo: "2",
relation: {
combo: {
id: "2",
name: "combo 2"
}
}
}
]
}
*/
});
Ext.define('ComboModel', {
extend: 'Ext.data.Model',
fields: ['id', 'name'],
proxy: {
url: '',
type: 'ajax',
extraParams: {
'_method': 'get',
'params[class]': 'comboData'
}
},
reader: {
root: 'data'
}
/*
ответ сервера
{
success: 1,
message: "Data loaded success.",
data: [
{
id: "1",
name: "combo 1"
},
{
id: "2",
name: "combo 2"
}
]
}
*/
});
//Store
var store = Ext.create('Ext.data.Store', {
model: 'Model',
autoLoad: true
});
var comboStore = Ext.create('Ext.data.Store', {
model: 'ComboModel'
});
//Grid
Ext.create('Ext.grid.Panel', {
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 2
})
],
renderTo: Ext.getDom('main-data-grid'),
store: store,
columns: [
{
dataIndex: 'id',
hidden: true,
hideable: false
},
{
header: 'Combo',
dataIndex: 'combo',
editor: { //проблема здесь, при 2 клике шлеться запрос на сервер,
xtype: 'combo', //получаем данные описанные выше в виде коментария под reader в ComboModel
store: comboStore, //при этом выпадающий список пустой, в него эти данные не подгружаються
displayField:'name'
},
renderer: function(val, cell, doc, idx) { //вместо 2 выводим "combo 2"
return doc.raw.relation.combo.name;
}
}
]
});
});
</script>
как все таки заставить combobox выводить данные?