Итак, что мы имеем:
Есть EditorGrid, который получает данные с помощью JSON:
store: new Ext.data.Store({
autoSave: true,
proxy: new Ext.data.HttpProxy({
api: {
read : 'lures',
create: 'lures/add',
update: 'lures/update',
destroy: 'lures/delete'
}
}),
reader: new Ext.data.JsonReader({
root: 'data',
fields: [
{name: 'id', type: 'int'}
]
}),
writer: new Ext.data.JsonWriter({
encode: true,
writeAllFields: false
})
})
При получении данных я шлю стору "магическую" metaData`у, которая
сообщает стору, что конфигурация стора изменилась. Там же я посылаю
массив колонок, из которых создаю ColumnModel.
После этого я делаю гриду reconfigure:
var columns = store.reader.jsonData.columns;
var cm = new Ext.grid.ColumnModel(columns);
this.reconfigure(store, cm);
Все отрабатывает на ура, конфиг грида изменяется, добавляются новые
колонки, выводятся правильные данные.
Проблема возникает, когда я пытаюсь данные изменить. Изменяю любое
поле - вместо update запроса почему-то идет запрос на создание записи
(create). При попытке удалить запись вообще никаких запросов на сервер
не идет. Понятно, что что-то случилось со стором, но в FireBug ничего
подозрительного найти не удалось (
Вот прошу у вас помощи. Возможно, кто-нибудь из вас с таким
сталкивался.
Спасибо
Я отдаю настройки колонок в виде массива. И вот тут возникает такая
проблема: рендерер, который я отдаю, мне приходится указывать строкой.
И при создании ColumnModel он не отрабатывает. Есть какие-нибудь
мысли, как решить проблему с рендерерами?