jqgrid分页不工作...需要帮助

时间:2011-02-23 06:35:30

标签: jquery jqgrid paging

下面是我的jqgrid代码

 $(function() {
        jQuery("#jsonmap").jqGrid({
        url: 'Handler.ashx',
            datatype: "json",
            colNames: ['Inv No', 'Name','Email'],
            colModel: [{ name: 'id', index: 'id', width: 100},
              { name: 'name', index: 'name', width: 200 },
              { name: 'email', index: 'email', width: 200}],
              rowNum: 10, rowList: [10, 20, 30],
              pager: '#pjmap',
              sortname: 'id',
              viewrecords: true, sortorder: "desc",
              jsonReader: { repeatitems: false, id: "0" },
                  caption: "JSON Mapping", height: '100%'
              }); 
          jQuery("#jsonmap").jqGrid('navGrid', '#pjmap', { edit: false, add: false, del: false,search:false }); 
            });
  • 我的json数据:

{"page": 1,"total": 2,"records": 15,"rows": [{"id": 1, "name":"giri", "email":"giri"}, {"id": 2, "name":"ravi", "email":"giri"},{"id": 3, "name":"kumar", "email":"giri"}, {"id": 4, "name":"raju", "email":"giri"}, {"id": 5, "name":"madhu", "email":"giri"},{"id": 6, "name":"vivek", "email":"giri"}, {"id": 7, "name":"radha", "email":"giri"}, {"id": 8, "name":"krishna", "email":"giri"}, {"id": 9, "name":"raghu", "email":"giri"}, {"id": 10, "name":"bhaskar", "email":"giri"}, {"id": 11, "name":"bhaskar", "email":"giri"}, {"id": 12, "name":"bhaskar", "email":"giri"}, {"id": 13, "name":"bhaskar", "email":"giri"}, {"id": 14, "name":"bhaskar", "email":"giri"}, {"id": 15, "name":"subbu", "email":"giri"}]}

分页不起作用。任何人都可以告诉我什么是错误? 谢谢......

1 个答案:

答案 0 :(得分:2)

您在jqGrid中使用的url将附加有关所需页面的信息。您需要使用QueryString的{​​{1}}集合来获取参数。在之后,你必须在服务器端实现数据分页

HttpContext

如果用户点击网格的下一页/上一页按钮,如果用户点击列标题对数据进行排序,新请求将被发送到服务器。因此,在使用public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { string pageToLoad = context.Request.QueryString["page"]; string rowsPerPage = context.Request.QueryString["rows"]; string sortIndex = context.Request.QueryString["sidx"]; string sortDirection = context.Request.QueryString["sord"]; //"asc" or "desc" ... } } datatype:'json'的情况下,服务器负责从正确的页面提供数据。在分页之前,应该先对数据进行排序。

如果您在服务器端实现数据分页时遇到问题,可以返回所有数据并在jqGrid参数列表中包含datatype:'xml'。您应该了解,在使用loadonce:true的情况下,数据将仅从服务器加载一次。首次加载后,loadonce:true参数将更改为datatype

我建议您(如果可能的话)使用ASMX Web服务或更好的WFC服务作为Web的一部分,而不是使用ASP.NET Web Handler(ashx)的旧技术。