У меня есть сетка ExtJS (4.0), и она отлично работает.Теперь я хочу немного улучшить его, добавив в него фильтры.Я хочу, чтобы пользователи могли фильтровать элементы по статусу.
Я создал следующее хранилище:
var status_store = Ext.create('Ext.data.Store', {
model: 'Statuses',
proxy: {
type: 'ajax',
url: '/json/statuses/',
reader: 'json'
}
});
и вижу, что он загружается, / json / statuses / вернетследующий объект json:
[
{
"name": "OK",
"isActive": true
},
{
"name": "Outdated",
"isActive": true
},
{
"name": "New",
"isActive": true
}
]
Теперь я определяю фильтры:
var filters = {
ftype: 'filters',
encode: encode,
local: local,
filters: [{
type: 'list',
dataIndex: 'name',
store: 'status_store',
labelField: 'name'
}]
};
и добавляю фильтр в определение моего столбца:
{text: 'Status', width: 120, dataIndex: 'status', sortable: true, filterable: true, filter: {type: 'list'}},
Что происходит, если япри загрузке сетки появляется следующая ошибка:
Uncaught TypeError: Object json has no method 'read' (ext-all-debug.js:25702)
и когда я щелкаю заголовок столбца для меню:
Uncaught TypeError: Object status_store has no method 'on' (ListMenu.js:69)
Как это исправить или я что-то делаю концептуальнонеправильно?
Вот полная цитата моего кода на всякий случай: http://pastebin.com/SNn6gFJz