子网格缓存或停止删除子网格数据(jqGrid)

有没有办法强制jqGrid在切换行时不删除子网格数据? 我当前加载数据网格的过程如下:

1)设置主网格,以编程方式将子网格设置为我稍后可以使用的ID

2)通过json将数据本地加载到主网格中

3)通过json在本地向子网格添加数据

由于我在本地加载子网格而不是URL,当用户切换(隐藏然后重新显示)时,网格中没有任何数据,我希望它显示提供给子网格的原始数据。

我知道这似乎是一种加载数据的奇怪方式,但有一个原因

我目前使用jqGrid做的是在一个网页上显示大量的保险信息(基本上是一份报告)。 这个网页应该自动加载所有数据,我有很多我需要提供子网格function的实例。 我已经弄清楚如何通过手动强制执行click事件来实现这一点,以便显示子网格,但同样,如果用户点击子网格,它就会消失并且不会返回。

如果您对此有任何建议,请告诉我。

此外,如果您认为有更好的方法可以自动显示所有数据,请告诉我。 到目前为止,我发现jqGrid很容易使用,但我一直强迫它做一些本来不做的事情,比如在页脚行中添加总值。

提前感谢您的帮助。

你想要做的是防止jqGrid在扩展行时重新加载子网格数据。 此控制旋钮位于jqGrid的subGridOptions属性中。 subGridOptions对象有一个名为reloadOnExpand的布尔属性,它控制这种确切的行为。

初始化jqGrid对象时,只需确保将此属性设置为false,如下所示:

jQuery("#gridId").jqGrid({ // ... other properties ... subGrid: true, subGridOptions: { reloadOnExpand: false // Prevent jqGrid from wiping out the subgrid data. }, subGridRowExpanded: subGridExpandCallback, // ... other properties ... 

我能找到这个代码的唯一地方是在他们的演示站点的页面上做一个“查看源代码”,它提到了这种行为。 发布时的演示页面位于: http : //www.trirand.com/blog/phpjqgrid/examples/hierarchy/subgrid_loadonce/default.php