是否可以在jqGrid中从page=0开始?
我使用的数据超出了我的控制范围,当我请求页面1时,我实际上从服务器上获得了页面2,因此我正在寻找一些方法来实际请求页面0。
据我所见,将jqGrid选项中的page参数设置为零没有任何效果。检查请求时,页面参数仍然为1。
我还尝试在初始化后稍后更改页面参数。这将页面设置为1:
grid.setGridParam({page:0}).trigger('reloadGrid');
另一方面,这在请求中将页面成功设置为5:
grid.setGridParam({page:5}).trigger('reloadGrid');
我想有一些针对请求页面0的检查,但对如何解决这个问题有什么想法吗?
如果我正确理解您的问题,您可以通过在定义为函数的jsonReader中使用serializedGridData事件处理程序和page
属性来解决它。
我没有测试你在下面找到的东西,但我希望代码或一点修改后的代码都能工作:
serializeGridData: function(postData) {
if (typeof(ts.p.postData.page) === "number") {
postData.page--; // decrease the value of page before sending to the server
}
return postData;
},
jsonReader: {
page: function (obj) {
return obj.page + 1; // increase the value of page returned from the server
}
}
应该是这样的:
grid.trigger("reloadGrid",[{page:1}]);
参见奥列格对类似问题的回答。
更新:
jqGrid寻呼机从1开始,方法reloadGrid检查页面是否<0,所以你似乎没什么可做的。