【问题标题】:Subgrid Caching or Stopping Subgrid data from being removed (jqGrid)子网格缓存或阻止子网格数据被删除 (jqGrid)
【发布时间】:2010-07-27 22:24:10
【问题描述】:

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

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

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

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

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

我知道这可能看起来像是一种奇怪的数据加载方式,但这是有原因的

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: jquery jqgrid subgrid


    【解决方案1】:

    您要做的是防止 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

    【讨论】:

      猜你喜欢
      • 2011-11-03
      • 2011-04-11
      • 2011-10-28
      • 1970-01-01
      • 2012-12-18
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多