分页在JqGrid中不起作用

我在我的项目中使用jQGrid最新版本。以下是我配置的完整配置。

jQuery("#list").jqGrid( { url : 'Link.do?method=findAllBrand', mtype : 'GET', height : 350, datatype : "xml", colNames : [ 'Name' ], colModel : [ { name : 'name', index : 'name', width : 620 } ], rowNum : 10, rowList : [ 10, 20, 30 ], sortname : 'id', sortorder : "desc", viewrecords : true, multiselect : true, imgpath : 'themes/base/images', caption : "Brand (s) Summary Grid", pager : #pager, cache : false, onSelectRow : function(id) { } }); 

我从服务器获取xmlforms的数据:

 1475AEGARCAgaAllenzi AmanaAndiArdaAristonAskoBaumaticBendixBlancoBoschChefDamaniDavellDelonghiDishlexElectroluxEmiliaEuroEurolecEuromaidF&PFPFagorFisher And PaykelFrankeGEGVAGaggenauGlem Glem GasGlemgasHaierHisense HitachiHooverHotpointIAGIlveIndesitJenn AirKelvinator KleenmaidLGLa GermaniaLiebherrLineaLofraMaytagMideaMieleNECNeffNobelOmegaOnixPanasonic RobinhoodSagiSamsungSeimen SharpSimpsonSmegSt GeorgeTechnikaTechnoTechnogasTekaThorVintecWestinghouseWhirlpool 

我已经修改了用户Oleg在另一篇post中建议的pager参数。但是寻呼机仍未按预期工作。 最初它只显示记录的10个数据,当我点击下一个它什么也没做。

 what did i do wrong 

谢谢Mihir Parekh

必须引用pager选项的值: pager : "#pager" 。 您使用datatype: "xml" 没有 loadonce: true 。 如果你的服务器( url : 'Link.do?method=findAllBrand' )负责分页和排序 。 如果用户使用相应的参数page=2单击下一页对服务器的新请求。

通常,服务器应返回与pagerows参数对应的项目数。 XML响应包含更多项。 我想服务器返回独立于请求页面的所有项目 。 在这种情况下,您应该包括loadonce: true 。 在客户端代码(jqGrid的JavaScript代码)将为您进行分页和排序的情况下。 如果使用loadonce: true选项,则可以删除该部件

 1475 

从服务器返回的XML数据。

此外,我建议您考虑在可能的情况下更改为使用JSON而不是XML。 在这种情况下,您可以减少像项目的表示

  Euro F&P Fisher And Paykel  

 [["Euro","BRD00022"],["F&P","BRD00002"],["Fisher And Paykel","BRD00026"]] 

因此,您可以减少传输数据的大小。

另外,就像我在您之前的问题的评论中写的那样,您应该将sortname : 'id'替换为sortname : 'name' name’cacsue您的网格没有名称为"id"的列。 选项sortorder : "desc"应该可能被删除。

您应该删除已弃用的选项 imgpath并删除jqGrid中不存在的选项cache 。 而不是我严格建议你添加gridview: true选项和autoencode: true 。 如果使用autoencode: true ,则不需要使用HTML编码(将F&P转换为服务器端的F&P )。

更新 : 该演示演示了网格的外观:

在此处输入图像描述

我在网格中包含工具栏filter和高级搜索,以显示如果使用loadonce: true如何轻松实现这些function。