jqGrid从多组动态更改为单组

时间:2013-03-28 17:50:34

标签: jqgrid grouping

我正在使用jqGrid并遇到一个我无法识别的问题......

我有一个2级多分组的网格设置,我还有一个选择列表来动态更改分组。这一切都运行良好,我可以根据所选的选项适当地更改分组。例如:

  • 项目1
    • 文件1
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
    • 文件2
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
    • 文件3
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
      • 字段1,字段2,字段3
  • 项目2
    • 文件8
      • 字段1,字段2,字段3
    • 文件9
      • 字段1,字段2,字段3

在此图中,项目编号是输出组,文件编号是内部组。在每个文件组下面是该组中所有行的列表。

问题是我需要一个选项来仅删除内部分组并保持外部分组不变。我已经尝试了以下代码,但它似乎没有做任何事情:

 if (val == "clear")
 {
    failingRulesGrid.jqGrid('setGridParam',
    {
        groupingView:
        {
            groupField: ['ename'],
            groupOrder: ['asc']
        }
    }).trigger('reloadGrid');
}

这是用于动态更改多分组的代码,它运行正常:

if (val != "clear")
{
    failingRulesGrid.jqGrid('setGridParam',
    {
        groupingView:
        {
            groupField: ['ename', val],
            groupColumnShow: [false, false],
            groupOrder: ['asc', 'asc']
        }
    }).trigger('reloadGrid');
}

有没有人对如何删除内部组但保留输出组有任何想法?作为旁注,外部组将仅基于“ename”列,因此我不必担心改变外部组的构造方式。

1 个答案:

答案 0 :(得分:1)

我不知道为什么我之前没想过这个,但我有一个有效的解决方案。使用'groupingGroupBy'很容易解决这个问题:

if (val == "clear")
{
    gridSelector.jqGrid('groupingGroupBy', 'ename',
    {
    groupColumnShow: [false],
    groupCollapse: true
    });
}