我正在使用重新配置功能来更改列的数据和数据 小组表格。
见下面我写的代码
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);
代码正常,数据已更改。 但是分页和总数确实会显示旧数据。
请帮忙。
答案 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);