jqgrid - reloadGrid 上的子网格折叠(父网格自动重新加载)

jqgrid - subgrid collapse on reloadGrid (parent grid auto reload)

当我为子网格

调用这样的事件时"reloadGrid"
$('#subgrid_id').trigger("reloadGrid");

父网格正在重新加载并折叠子网格并删除所有子网格HTML代码。

如何防止这种行为并仅重新加载子网格?

我正在使用 jQgrid 4.5.2。

您应该验证如何在 subGridRowExpanded 回调中构建子网格的 ID。如果您使用子网格,完全控制子网格的所有 id 以及主网格和子网格的所有 rowid 是非常重要的。所有 ID 必须是唯一的。您应该根据 subGridRowExpanded 回调的第一个参数构造 subgridgrid 的 id,或者通过调用方法 $.jgrid.randId() 每次调用时 returns 唯一的 id。

我强烈建议您为子网格使用额外的独特 idPrefix 选项。您可以根据 subGridRowExpanded 回调的输入参数构建 idPrefix 选项的值。然后 rowid 将基于数据的 id 构建,但 ids 将具有前缀。例如,您可以使用第二个参数 rowid 和一些像 idPrefix: rowid + "_s_" 这样的后缀。因此,如果您的主网格数据的 id 是 10、20、30...,而子网格的数据包含 id 10、15、20,那么 jqGrid 您将使用子网格的 rowids:20_s_1020_s_15, 20_s_20 通过打开主网格的 id 为 20 的行来获取子网格。我希望我不会将您与示例混淆。无论如何,我建议您打开网格的 2-3 个子网格,并仔细检查哪些 id 具有每个子网格和主网格行的子网格行。您应该找不到重复的 ID。