【发布时间】:2012-01-26 21:24:14
【问题描述】:
我正在使用带有 jqGrid 的 loadonce 选项从数据库中提取数据。记录的数量不是太大(几百),但太大而无法在整个屏幕上看到。因为我必须使用分页。如何遍历客户端上的所有记录?我知道我可以使用getDataIDs,但这只会给我一次在屏幕上显示的所有记录。我已经看过了,但我还没有找到一种方法来查看除服务器端以外的所有数据。
【问题讨论】:
我正在使用带有 jqGrid 的 loadonce 选项从数据库中提取数据。记录的数量不是太大(几百),但太大而无法在整个屏幕上看到。因为我必须使用分页。如何遍历客户端上的所有记录?我知道我可以使用getDataIDs,但这只会给我一次在屏幕上显示的所有记录。我已经看过了,但我还没有找到一种方法来查看除服务器端以外的所有数据。
【问题讨论】:
你可以通过如下代码获取所有本地数据
var gridData = $("#grid").jqGrid('getGridParam', 'data');
要获取gridData数组中所有行的id和对应的索引,你可以使用
var idsToDataIndexes = $("#grid").jqGrid('getGridParam', '_index');
网格的 id 将是 idsToDataIndexes 的属性(可由 for (var id in idsToDataIndexes) 枚举),属性的值是 gridData 数组中的索引。
【讨论】:
gridData。尽管如此,for (var i in gridData){...} 的使用会非常糟糕。 JavaScript 有它的规则和对象继承。你应该使用var i, l = gridData.length; for (i = 0; i < l; i++) {.../*one can use gridData[i] here*/...}