EXTJS + Обновление магазина с идентификатором базы данных после сохранения сетки

I ' м пытаюсь научиться использовать сетки EXTJS для некоторых простых операций CRUD над таблицей в приложении администратора.

У меня есть простая сетка, которая позволяет кому-то редактировать пользователей, хранилище определяется как:

        var userDataStore = new Ext.data.Store({
            id: 'userDataStore',
            autoSave: false,
            batch: true,
            proxy: new Ext.data.HttpProxy({
                api: {
                    read: '/Admin/Users/All',
                    create: '/Admin/Users/Save',
                    update: '/Admin/Users/Save'
                }
            }),
            reader: new Ext.data.JsonReader(
            {
                root: 'Data',                    
                idProperty: 'ID',
                totalProperty: 'total',
                successProperty: 'success',
                messageProperty: 'message'
            }, [
                { name: 'ID', type: 'string', allowBlanks: false },
                { name: 'NT_ID', type: 'string', allowBlank: false },
                { name: 'EMail', type: 'string', allowBlank: false },
                { name: 'Name', type: 'string', allowBlank: false },
                { name: 'Enabled', type: 'bool', allowBlank: false },
                { name: 'CurrentRoleCode', type: 'string', allowBlank: false}]
            ),
            writer: new Ext.data.JsonWriter(
            {
                encode: false,
                writeAllFields: true,
                listful: true
            })
        });

Это связано в сетку, и я могу без проблем загружать и сохранять пользователей. Кнопка сохранения выглядит следующим образом:

   var saveButton = new Ext.Button({
            text: 'Save',
            disabled: true,
            handler: function() {
                userDataStore.save();                    
                pageState.ClearDirty();
                saveButton.disable();
            }
        });

Однако при создании нового пользователя сообщение JSON POST для пользователя отправляется в ту же конечную точку службы REST, что и «Обновление», с той лишь разницей, что значение идентификатора не публикуется ( так как один устанавливается только в хранилище при загрузке с сервера).

Это работает, и я могу создавать пользователей.

Служба сохранения REST возвращает созданную строку с новым идентификатором базы данных, и я был при условии, что EXTJS автоматически привяжет новый сгенерированный идентификатор базы данных к строке. Это позволяет пользователю дальше редактировать эту строку, Я надеялся, что EXTJS поймет это и обновит значения строк.

9
задан FlySwat 14 September 2010 в 13:52
поделиться