【问题标题】:jqGrid's addRowData hangs for large number of recordsjqGrid 的 addRowData 挂起大量记录
【发布时间】:2012-09-16 08:53:06
【问题描述】:

jqGrid 的addRowData(idColumnName, array, direction, position) 接受一个行数组并将它们插入到网格的当前页面中,忽略任何分页设置。因此,如果一个数组包含 3,000 行,则将所有 3,000 行都插入到当前页面中。

这会在大多数浏览器中引发“无响应脚本”错误。

可以使用哪些“技巧”在 jqGrid 的特定位置插入大量行(即 3,000 行)并使其遵守分页设置?

【问题讨论】:

  • 为什么不使用分页?所以你不必一次拉这么多行?
  • 这些行是在客户端生成的,而不是在服务器端生成的,所以服务器端的分页是不可能的。

标签: javascript jquery jquery-plugins jqgrid grid


【解决方案1】:

使用addRowData 更新(或添加)大量页面是错误的方式。 jqGrid 使用内部的data_index 选项来保存本地数据(例如,参见hereherehere)。因此,您可以获得关于getGridParam 的内部data 参数的引用。然后你可以以任何方式更新数组。您还应该将新添加的行的索引放在_index 中,或者调用refreshIndex(代码示例参见here)来重建_index。在最后一种情况下,您必须拥有完整的数据源 (data),其中也包含 id 属性。毕竟你应该重新加载网格(参见herereloadGrid的参数)以显示更新的网格。

【讨论】:

  • 非常感谢!我现在更新“数据”参数并重新加载网格。这样,jqGrid 尊重分页设置。
猜你喜欢
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 2016-03-05
  • 2011-12-15
  • 1970-01-01
  • 2012-05-22
相关资源
最近更新 更多