如何在 JQGard 中设置下一页选项

how to set next page option in jqgrid

本文关键字:一页 选项 设置 JQGard      更新时间:2023-09-26

我从网络服务收到的Json数据是

{"meta": {"limit": 20, "next": "/api/un_bn_in/?offset=20&limit=20&format=json", "offset": 0, "previous": null, "total_count": 439603}, "objects": [{"id": 1, "phrase": "this is bengali test", "resource_uri": "/api/un_bn_in/1/", "verified_by_admin": true, "verified_by_usr": true}] }

转到下一页网址是"/api/un_bn_in/?offset=20&limit=20&format=json"

我的jsonreader函数如下:-

jsonReader{
    id : "id",
    repeatitems: false,
    root: function (obj) { return obj.objects; },
    records: function (obj) { 
          return 20; },
    total: function (obj) { return obj.meta.total_count; 
}

这里真正的问题是当我按下下一页按钮时,jqgrid 生成的网址是/api/un_bn_in/?format=json&_search=false&nd=1383576507420&rows=20&page=1&sidx=id&sord=asc

但是我希望生成"/api/un_bn_in/?offset=20&limit=20&format=json"这个网址,以便我可以获取下一页

有关此问题的任何帮助将不胜感激

您可以使用 jqGrid 的 prmNames 选项来重命名标准 jqGrid 选项或删除其他选项。例如选项

prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" }

将删除一些您不需要的参数rows并将选项重命名为 limit .您将获得类似 /api/un_bn_in/?format=json&limit=20&page=2 的 URL。最后一步是替换limitpage选项以/api/un_bn_in/?format=json0&limit=20&offset=20。在这种情况下,您可以另外使用serializeGridData。生成的选项可能如下所示

url: "/api/un_bn_in/?format=json",
prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" },
serializeGridData: (postData) {
    return {
        limit: postData.limit,
        offset: (parseInt(postData.page, 10) - 1) * postData.limit
    };
}