Проблема с плагином редактирования строк в Extjs

У меня есть полностью работающая liveSearchGridPanel в ExtJs. Ошибка возникает, когда я редактирую любую строку. Что происходит, так это то, что если обновленная строка должна быть переработана, как в моем случае, когда я меняю возраст пользователя (я сортирую по возрасту), строка идет вверх или вниз в сетке, но предыдущая запись также остается там пока я не обновлю всю веб-страницу вручную. Скриншот ниже

Снимок экрана моей веб-страницы после редактирования

Моя модель прокси:

Ext.define('proxymodel', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int',
        persist: false
    }, {
        name: 'gender',
        type: 'auto'
    }, {
        name: 'name',
        type: 'auto'
    }, {
        name: 'age',
        type: 'int'
    }],

    identifier: 'sequential', // to generate -1, -2 etc on the client
    proxy: {
        type: 'rest',
        //format: 'json',
        //appendId: false,
        idParam: "id",
        //limitParam:"",
        //filterParam: "",
        //startParam:'',
        //pageParam:'',
        url: 'http://localhost:3000/posts',
        api: {
            read: 'http://localhost:3000/db',
            create: 'http://localhost:3000/posts',
            update: 'http://localhost:3000/posts',
            destroy: 'http://localhost:3000/posts'

        },

        headers: {
            'Content-Type': "application/json"
        },

        reader: {
            type: 'json',
            rootProperty: 'posts',

            totalProperty: 'total'

        },
        writer: {
            type: 'json'
        }
    }
});

В Application.js я определил плагин редактирования строк как:

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
    listeners: {
        cancelEdit: function(rowEditing, context) {
            // Canceling editing of a locally added, unsaved record: remove it
            if (context.record.phantom) {
                store.remove(context.record);
            }
        },

        edit: function(editor, e) {
            // commit the changes right after editing finished
            e.record.commit();
        }
    }
});

И мой магазин выглядит так:

Ext.define('Store', {
    extend: 'Ext.data.Store',
    storeId: 'peopleStore',
    pageSize: 500,

    //buffered: true,
    //leadingBufferZone: 300,

    pageSize: 5,

    autoLoad: {
        start: 0,
        limit: 5
    },
    autoSync: true,

    sorters: [{
        property: 'age',
        direction: 'ASC'
    }],

    groupField: 'gender'
});

Кто-нибудь может указать на мою ошибку?

Я попытался перезагрузить свой магазин после редактирования в функции «редактировать» rowEditing, но это не сработало.

Спасибо за ваше время.


person Abdul Rehman Yawar Khan    schedule 28.04.2015    source источник
comment
Вы пробовали Ext.data.StoreManager.lookup('peopleStore').reload() ?   -  person Tyr    schedule 28.04.2015
comment
@Tyr Спасибо, это сработало. Пожалуйста, не могли бы вы поместить это как ответ, чтобы я мог его принять, и эта тема будет среди ответов на вопросы для будущих пользователей.   -  person Abdul Rehman Yawar Khan    schedule 28.04.2015


Ответы (1)


Как полный ответ по запросу:

Вы пробовали Ext.data.StoreManager.lookup('peopleStore').reload() ?

person Tyr    schedule 28.04.2015