博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jqGrid的rowNum属性默认值、-1情况的介绍
阅读量:7121 次
发布时间:2019-06-28

本文共 1374 字,大约阅读时间需要 4 分钟。

最近做了一个用到了jqGrid的项目,在设置rowNum属性的时候遇到了坎坷...

rowNum属性的默认值为20,当你不设置时,每页最多只给你显示20条数据。

但是,当我们不想设置最大的数据条数时,我们还想显示全部数据怎么办,网上说设置为 -1 ,这时问题就出现了,这么设置在画面上会发现数据少了一条...坑啊...


为了解决这个问题,无奈只能开始调试...

最后发现问题发生点(jquery.jqGrid.src

var queryResults = query.select(),      recordsperpage = parseInt(ts.p.rowNum,10),      total = queryResults.length,      page = parseInt(ts.p.page,10),      totalpages = Math.ceil(total / recordsperpage),      retresult = {};      queryResults = queryResults.slice( (page-1)*recordsperpage , page*recordsperpage );      query = null;      cmtypes = null;      retresult[ts.p.localReader.total] = totalpages;      retresult[ts.p.localReader.page] = page;      retresult[ts.p.localReader.records] = total;      retresult[ts.p.localReader.root] = queryResults;      retresult[ts.p.localReader.userdata] = ts.p.userData;      queryResults = null;      return  retresult;

请重点看这段代码

queryResults = queryResults.slice( (page-1)*recordsperpage , page*recordsperpage );

当rowNum属性值为-1时,recordsperpage 会为 -1

此时执行.slice函数就有问题了,此时函数相当于queryResults.slice(0,-1),小伙伴们可以去查查.slice函数的API,大体意思就是

.slice(start,end) 返回区间为start 到 end位置的元素,请注意,如果是负数,则代表的意思是从数组尾部开始算起的元素

这回明白为什么数据会少了一条吧...

提供一种修改方式,添加一个条件判断吧


var queryResults = query.select(),      ...      if (recordsperpage != -1){      queryResults = queryResults.slice( (page-1)*recordsperpage , page*recordsperpage );      }      ...

转载地址:http://ariel.baihongyu.com/

你可能感兴趣的文章
RabbitMQ入门-Topic模式
查看>>
多线程面试体系列(13):多线程同步内功心法——PV操作下
查看>>
Work
查看>>
[开源]快速构建文件下载,支持文件加密,自定义限速
查看>>
Mac系统搭建java开发环境
查看>>
菜鸟对新技术的一点看法
查看>>
2016年2月23日----Javascript全局变量和局部变量
查看>>
iOS开发基础知识-多线程概念深入浅出
查看>>
论PHP框架设计模式及MVC的缺陷
查看>>
立flag(java)
查看>>
7-38 数列求和-加强版(20 分)
查看>>
python----字典
查看>>
开发环境eclipse for Mac 下的常用快捷键汇总(基本参照Win系,将Ctrl换为Command)
查看>>
tree与GridView交互
查看>>
zz 鸡汤穷三代,励志毁一生
查看>>
小学期实践心得(2)
查看>>
c#获取电脑硬件信息参数说明(CPU篇 Win32_Processor)
查看>>
oracle报错注入的一些函数
查看>>
Android下载图片/调用系统相机拍照、显示并保存到本地
查看>>
LeetCode算法题-Detect Capital(Java实现)
查看>>