【问题标题】:How to iterate over all items in jqGrid cache如何遍历 jqGrid 缓存中的所有项目
【发布时间】:2012-01-26 21:24:14
【问题描述】:

我正在使用带有 jqGrid 的 loadonce 选项从数据库中提取数据。记录的数量不是太大(几百),但太大而无法在整个屏幕上看到。因为我必须使用分页。如何遍历客户端上的所有记录?我知道我可以使用getDataIDs,但这只会给我一次在屏幕上显示的所有记录。我已经看过了,但我还没有找到一种方法来查看除服务器端以外的所有数据。

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    你可以通过如下代码获取所有本地数据

    var gridData = $("#grid").jqGrid('getGridParam', 'data');
    

    要获取gridData数组中所有行的id和对应的索引,你可以使用

    var idsToDataIndexes = $("#grid").jqGrid('getGridParam', '_index');
    

    网格的 id 将是 idsToDataIndexes 的属性(可由 for (var id in idsToDataIndexes) 枚举),属性的值是 gridData 数组中的索引。

    【讨论】:

    • 我们可以像这样遍历数据吗:for (var i in gridData){...} without idsToDataIndexes?
    • @kozla13:如果您需要只有数据,没有它的rowid,那么您可以遍历数组gridData。尽管如此,for (var i in gridData){...} 的使用会非常糟糕。 JavaScript 有它的规则和对象继承。你应该使用var i, l = gridData.length; for (i = 0; i < l; i++) {.../*one can use gridData[i] here*/...}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多