JQGrid使用scroll:1不适用于大型数据集(100万条记录)

时间:2013-10-10 16:23:22

标签: jquery jqgrid

我一直在使用JQGrid很长一段时间,最近在使用大型记录集时遇到了问题。当记录集包含大约超过100万条记录时,使用scroll:1选项时发生的自动分页将停止工作。 (我测试了700K - 它的工作原理和110万,它不起作用)。我一次只要求50条记录。

如果我更改为scroll:false,它会显示寻呼机并且它正常运行。使用scroll:true也不起作用。

如果不工作,我的意思是我只能滚动浏览所请求记录的第一页。向下滚动不会导致JQGrid请求下一页记录。

有人找到了解决方法吗?我正在使用最新版本的jqgrid。谢谢!

1 个答案:

答案 0 :(得分:1)

问题的根源是JavaScript中的每个数字都是64位浮点数。

当您使用FireBug查看生成的表时,您会看到,在ui-jqgrid-bdiv内部有一个div,其高度设置为rowHeight *记录像素,当它变得足够大时,它表示为浮点形式,如7.22834e + 7px,约300万行。

jqGrid编写器使用了很多parseInt()和parseInt(7.22834e + 7)== 7,所以我的猜测是计算从那里横向移动。当您向下滚动到底部时,网格只是认为它已加载了所有数据。

我尝试将rowNum设置为一个大数字,但它仍然只加载第一批数据。

我很抱歉,但除了设置scroll = false之外,我认为没有解决方法。