Перед тем, как мы начнем: я заметил, что объект конфигурации вашей сетки имеет
xtype:'grid'
Это само по себе запрещает любые возможности редактирования и взаимодействия с сервером (кроме чтения хранилища), потому что вы создаете экземпляр Ext.grid.GridPanel , в то время как (я думаю) вам нужен Ext.grid.EditorGridPanel .Чтобы все следующее работало правильно, вы должны изменить эту строку на:
xtype:'editorgrid'
Первое, что я хотел бы проверить, - это то, что хранилище имеет атрибут конфигурации id , и этонастроен столбец магазина ридера.Если хранилище не может идентифицировать запись, оно будет думать, что запись не существует, и не будет генерировать запрос к серверу.
Второе, что нужно проверить: настроено ли ваше хранилище для генерации запросов к серверу?То есть есть ли такая строка в вашем объекте конфигурации магазина?
proxy: new Ext.data.HttpProxy({
api:{
read:'readscript.url',
create:'insertscript.url',
update:'updatescript.url',
destroy:'deletescript.url'
}
})
Далее, вы определили атрибут " writer " в вашем объекте конфигурации магазина?Объект конфигурации хранилища должен иметь атрибут proxy и атрибут writer для генерации правильных запросов к серверу при удалении.
Чтобы указать средство записи для хранилища, вы можете просто написать (для обычного писателя Json):
writer: new Ext.data.JsonWriter()
, и хранилище отправит на сервер все соответствующие запросы на запись.
Еще одной болезненной (я думаю, недостаточно документированной) проблемой может бытьналичие обязательных полей в магазине ридера.Все столбцы являются обязательными по умолчанию;чтобы пометить столбец как «необязательный», необходимо указать (в массиве столбцов устройства чтения магазина):
{name:'column_name', allowBlank:true, /* other stuff like 'type' etc. */ }
Возможно, при добавлении новой записи в сетку не все столбцы будутнаселен.Хранилище не будет генерировать запрос на создание сервера, пока не будут заполнены все обязательные столбцы.Затем, если вы удалите несохраненную запись, хранилище не сгенерирует запрос на уничтожение, поскольку будет считать, что запись «не существует».