用params加载商店
我想要做的就是用下面的参数加载商店,所以我只得到我商店的前十项。
app.stores.actualites.load({
params : {
start:0,
limit:10,
},
callback : function(records, operation, success) {
app.loadmask.hide();
}
});
但这不起作用,它将返回所有18个商店项目。
如果我将开始参数设置为1,它将返回17个项目,所以此参数正在工作,但不是其他参数。
更新:存储代码
app.stores.actualites = new Ext.data.Store({
model: 'app.models.Actualites',
proxy: {
type: 'ajax',
url: app.stores.baseAjaxURL + '&jspPage=%2Fajax%2FlistActualites.jsp',
reader: {
type: 'json',
root: 'actualite',
successProperty: 'success',
totalProperty: 'total',
idProperty: 'blogEntryInfosId'
}
}
});
奇怪的是,当我在浏览器中尝试URL并添加&start = 0&limit = 1时,它工作得很好......
更新:尝试extraParams
我也试着用extraParams来做,但这仍然不起作用
app.stores.actualites.getProxy().extraParams.start = 1;
app.stores.actualites.getProxy().extraParams.limit = 2;
app.stores.actualites.load({
callback : function(records, operation, success) {
app.loadmask.hide();
}
});
分页功能必须在您的服务器端实际实施。 Sencha只会保留页面,并会向您发送适当的start
和limit
值。 您需要在服务器端脚本访问这些值,并根据这些值返回适当的结果。
如果您使用的是列表,那么您可以使用Sencha的内置ListPaging插件,它可以自己处理启动/限制参数。
这听起来很奇怪,但我更改了参数'limit'的名称以在客户端和服务器上“停止”,并且它工作正常。
它应该是这样的:
app.stores.actualites.getProxy().setExtraParams({
start:1,
limit:2
})
链接地址: http://www.djcxy.com/p/80019.html