2012-03-23 55 views
0

我想要做的就是用下面的参数加载商店,所以我只得到我商店的前十项。用参数装载商店

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在浏览器中,并添加&开始= 0 &上限= 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(); 
    } 
}); 
+0

你可以给代码在服务器上处理这个加载请求吗? – 2012-03-23 18:36:38

回答

0

这听起来不可思议,但我改的帕拉姆“限价”,以在客户端和服务器上,它的工作“一站式”的名字......

1

分页功能必须在您的服务器端实际实现。 Sencha只会保留这些页面,并会向您发送适当的startlimit值。您需要在服务器端脚本访问这些值,并根据这些值返回适当的结果。

如果您使用的是列表,那么您可以使用Sencha的内置ListPaging插件,该插件会自行处理启动/限制参数。

+0

是的,但它在浏览器上工作正常,当我添加&start = 0&limit = 1时...请参阅我的更新 – 2012-03-25 14:52:27

+0

好吧,那么我认为,因为store load()函数采用Proxy配置,您需要使用“extraParams”的“params”。 – Swar 2012-03-26 06:12:30

0

它应该是这样的:

app.stores.actualites.getProxy().setExtraParams({ 
         start:1, 
         limit:2 
        })