Ext.Data.Store получить значение из переменной (массива)

Вопрос задан: 6 лет 8 месяцев назад   просмотров: 1
0

Не могу понять, как мне загрузить в Ext.Data.Store значение из переменной, в интернете не нашел работающего варианта, да и вообще какой пример не посмотри, везде по разному написано. Вот весь ext js код:

var adrs = '<?php echo $json; ?>'; //get data Ext.define('Addresses', { //model extend: 'Ext.data.Model', idProperty: 'id', fields: [{ name: 'ID', type: 'int' }, { name: 'IP', type: 'string' }, { name: 'Comment', type: 'date' }] }); var store = Ext.create('Ext.data.Store', { model: 'Addresses', data: adrs, autoLoad: true, proxy: { type: 'memory', reader: new Ext.data.ArrayReader(adrs) } }); Ext.onReady(function(){ Ext.create('Ext.grid.Panel', { title: 'Addresses', height: 200, width: 350, store: store, columns: [{ header: 'ID', dataIndex: 'id' }, { header: 'IP', dataIndex: 'ipAddress' }, { header: 'Comment', dataIndex: 'comment' }], renderTo: 'ipGrid' });

});

На странице рисуется grid, но он пустой.. я не понимаю почему, думаю что именно в Ext.Data.Store ошибка, т.к. я вообще почти наугад там написал, т.к. не понимаю как надо

п.с. я только начинаю изучать ext js, поэтому многого еще не понимаю

неужели никто не знает? - 19-06-2013 в 15:12:57

Ответы   1

0
reader: new Ext.data.ArrayReader(adrs)

Если у вас JSON, а вы пытаетесь прочесть при помощи не JsonReader а при помощи ArrayReader, то тут уж можно предположить что не ту функцию используете.
Также попробуйте в объявлении columns вместо header указать text.
Убедитесь также что var adrs строится верно. Плюс вроде в указании Store для вас необязательно делать параметр autoload.
Ну вроде высказался полностью по поводу моих предположений.

Ответил: 20-06-2013 в 11:00:25