当前位置: 首页 > 面试题库 >

jqgrid中带有数组数据的分页问题

司寇灵均
2023-03-14
问题内容

我在具有18条记录的数组数据的jqgrid中遇到分页问题,​​但是即使我指定了pagination:true,pager:jQuery(’#pager1’),记录也不会显示在页面中。您能帮我实现分页而不是滚动吗?

<script type="text/javascript">
 jQuery("#list4").jqGrid({
 datatype: "clientSide",
 height: 200,
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    colModel:[
    {name:'id',index:'id', width:60, sorttype:"int"},
    {name:'invdate',index:'invdate', width:90, sorttype:"date"},
    {name:'name',index:'name', width:100},
    {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
    {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
    {name:'total',index:'total', width:80,align:"right",sorttype:"float"},
    {name:'note',index:'note', width:150, sortable:false}
    ],
    multiselect: true,
 pagination:true,
  pager:jQuery('#pager1'), 
 rowNum: 10,
 rowList: [5, 10, 20, 50],
 sortname: 'id',   
 sortorder: 'asc',
 viewrecords: true,
 page: 1,
 loadonce: true,  
 totalpages: 2,   
 totalrecords:18,     
 showpage:true,   
 imgpath: "/themes/default/images",         
 caption: "Manipulating Array Data"
 });
 var mydata = [
 {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
 {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
 {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
 {id:"10",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"11",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"12",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
 {id:"13",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"14",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"15",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
 {id:"16",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
 {id:"17",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
 {id:"18",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},

 ];
 for(var i=0;i<=mydata.length;i++)   
 jQuery("#list4").addRowData(i+1,mydata[i]);

问题答案:

您的主要问题是rowNum添加大量行后应重置。线

jQuery("#list4").setGridParam({ rowNum: 10 }).trigger("reloadGrid");

在代码末尾将解决此问题。我建议您添加行

jQuery("#list4").jqGrid('navGrid','#pager1',{edit:false,add:false,del:false});

直接在定义jqGrid之后。然后,您不仅将具有数据分页,还具有数据过滤(搜索)和刷新(重置过滤器)。

其他一些小注释:

  • mydata数组的定义中,应在“]”之前删除“,”。
  • 在for循环中,您应该使用i<mydata.length而不是i<=mydata.length
  • 你应该从以下它们要么不存在(如参数的jqGrid的定义中删除pagination),或在上下文(如没有意义loadonce: true): ,paginationpageloadoncetotalpagestotalrecords,。showpage``imgpath

如果根据data: myData参数构造jqGrid
mydata一次设置所有数据,则可获得最佳结果(请参见http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#array_data中addRowData方法的说明))。



 类似资料:
  • 本文向大家介绍jqGrid翻页时数据选中丢失问题的解决办法,包括了jqGrid翻页时数据选中丢失问题的解决办法的使用技巧和注意事项,需要的朋友参考一下 我在项目中使用jqGrid时,采用异步加载服务器数据,例如点击翻页、搜索时都重新加载数据。这样就会产生一个问题。 问题描述: 当对列表批量删除时,可以选择多个记录信息,选择当前页的第一条,如图:   点击下一页再选择一些记录,点击删除时,则无法删除

  • 我有一个简单的查询如下“select * from USERS”。我还使用Pageable来启用分页。 此查询可能具有基于给定参数是否为 null 的可选谓词。 例如,如果给定了“code”参数且该参数不为空,则查询变为“select * from USERS where code =:code”; 据我所知,我不能使用@Query注释来实现这一点。我可以实现一个定制的存储库,并使用EntityM

  • 问题内容: 我想知道是否有更好的方法从服务器加载大型Json数据集。 我正在使用jqgrid作为loadonce:true。我需要一次加载大约1500条记录,而且我不使用分页选项。有没有更好的方法来实现这一目标?先感谢您。 这是我的网格代码- 问题答案: 在此演示的示例中,您可以看到在使用的情况下为网格加载1500行的时间。 您的示例最大的性能问题在函数内部。如果确实需要在网格上进行一些修改,则应

  • 我正在使用查询DSL的Spring数据JPA,并试图在条件中使用求和函数,因为我正在使用分页,所以我必须首先获得计数。所以我有如下的Java代码:- 它创建这样的查询:- 我得到。 上述查询在中也不起作用,因为sum函数不能与count-in-where条件一起使用。当我必须先进行计数,然后再获取真实数据时,我不知道如何处理这样的问题。有人能帮我解决这个问题的方法吗。 请不要建议注释,因为我不能使

  • $Wxch_indent = M("Wxch_indent"); // 实例化Wxch_indent对象 $count = $Wxch_indent->where($where)->count();// 查询满足要求的总记录数 $Page = $this->Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->sho

  • 问题内容: 我正在使用jqGrid 3.6.4和jquery 1.4.2。在我的示例中,我正在遵循json数据格式,我想将这些json数据映射到jqgrid的行中 我的jqgrid代码如下 所以现在的问题是因为我的数据(即student_name和year)在“ head”下,因此jqgrid可以找到这两个字段。同时其他两个列值,即“日期”和“数字”位于“ sub”下,即使是那些列,我也无法使用j