Ext grid combobox json
Всем привет.
Есть вот такое <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 выводить данные? |
В ComboModel
reader: { root: 'data' } должен находиться внутри proxy proxy: { url: '', type: 'ajax', extraParams: { '_method': 'get', 'params[class]': 'comboData' }, reader: { root: 'data' } } а не proxy: { url: '', type: 'ajax', extraParams: { '_method': 'get', 'params[class]': 'comboData' } }, reader: { root: 'data' } |
Часовой пояс GMT +3, время: 10:47. |