Пейджинговый магазин не изменился - PullRequest
0 голосов
/ 11 января 2012

Я использую функцию Reconfigure для изменения столбцов и данных форма панели.

Смотрите ниже код, который я написал

    var newStore = Ext.create('Ext.data.Store', {
        fields: tmpFields,
        pageSize: itemsPerPage,
        proxy: {
            type: 'ajax',
            url: getDataWithPageURL,

        }
    });


     globalStore = newStore.load({
        params: {
            start: 0,
            limit: itemsPerPage
        }
    });

   grid.reconfigure(globalStore, tmpColumns);

Код работает, и данные изменены. Но подкачка и итоги показывают старые данные.

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 12 января 2012

В ExtJS PagingToolbar работает в тесном контакте с данным Store, и это причина, по которой нет прослушивателя событий, подключенного к reconfigure, поскольку reconfigure определено в Ext.panel.Table.

Следовательно, другое решение заключается в повторном связывании хранилища после запуска reconfigure, а именно:

Ext.define('NS.toolbar.Paging', {
    extend: 'Ext.toolbar.Paging',
    initComponent: function() {
        var me = this;
        me.callParent();
        me.on('afterrender', function() {
            me.ownerCt.on('reconfigure', function() {
                me.bindStore(me.ownerCt.store || 'ext-empty-store', true);
            });
        });
    }
});

Прочитайте это так, как после того, как PagingToolbar был отрисован, мы привязываем функцию к событию reconfigure, чтобы при каждом reconfigure повторном связывании хранилища на панели инструментов подкачки.

Проверено и все работает. Попробуйте здесь, на jsfiddle

Приветствия

0 голосов
/ 11 января 2012

Я думаю, что это ошибка в функции перенастройки.

Итак, я создал полосу подкачки и добавил сноваСмотрите код ниже

    var PagingBar = Ext.create('Ext.PagingToolbar', {
        pageSize: itemsPerPage,
        store: globalStore,
        dock: 'bottom',
        displayInfo: true
    });

    grid.removeDocked(grid.getDockedItems()[1]);

    grid.addDocked(PagingBar);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...