分页存储未更改

时间:2012-01-11 12:37:52

标签: extjs4

我正在使用重新配置功能来更改列的数据和数据 小组表格。

见下面我写的代码

    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 个答案:

答案 0 :(得分:1)

在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发生时,你就会在分页工具栏中重新绑定商店。 / p>

经过测试,确实有效。 Try it out here at jsfiddle

干杯

答案 1 :(得分:0)

我认为这是重新配置功能中的错误。

所以我创建了pagging bar并再次添加。见下面的代码

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

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

    grid.addDocked(PagingBar);