在EXTJS3中,我定义了一个数据存储和网格,它工作得很好。现在问题是分页,我想手动控制‘下一步’按钮事件。
我尝试在分页中使用“beforechange”事件,但它不起作用,因为它是“之前”。如何手动加载带参数值的存储区?
服务器端是C#。
谢谢
商店是
var store = new Ext.data.DirectStore({
storeId: 'store',
directFn: Report.Function1,
autoLoad: false,
paramsAsHash: false,
paramOrder: 'param1|start',
....
fields: [ ... ],
remoteSort: false,
});寻呼是
var pager = new Ext.PagingToolbar({
store: store,
displayInfo: true,
pageSize: this.pageSize,
listeners: {
beforechange: function (paging, params) {
currentPage = params.start;
report_search(params);
}
}
});
function report_search(page) {
var store = Ext.StoreMgr.lookup('store');
store.removeAll();
store.load({
params: {
param1: Ext.getCmp("param1").getValue(),
start: page.start
}
});
}发布于 2014-04-10 17:40:48
在加载之前,您似乎想要对存储应用一个特殊的参数。
要做到这一点,您需要:
this.store.on('beforeload', this.applyParams.createDelegate(this));
...
applyParams: function(store, options) {
options.params = options.params || {};
var params = {
param1: Ext.getCmp("param1").getValue()
};
Ext.apply(options.params, params);
}我希望你不需要拒绝‘下一步’按钮点击,因为商店可以从其他地方加载(自动,手动从其他地方)。
https://stackoverflow.com/questions/11318401
复制相似问题