2012-10-15 719 views
1

有没有一种方法可以实现展开全部/折叠所有功能在jqgrid中分组功能?据我了解设置groupingCollapse:true,折叠数据,但我想使其动态,可能是在网格内放置+/-图标的点击。在此先感谢您的任何建议/帮助...jqgrid - 展开全部/折叠所有分组

回答

1

我想你会在the old answer找到你的问题的答案。答案的主要思想是使用jqGrid的参数groupingViewsortnames[0]属性。它是一个数组,其元素可用于构造分组标题的ID,并且可以使用groupingToggle方法折叠或展开组标题。您可以通过这种方式展开或折叠所有组。

+0

非常感谢您的帮助.. – varaprakash

+0

@varaprakash:不客气! – Oleg

+0

@Oleg有没有办法,当最初'groupCollapse'为'false'时,我可以折叠网格中的所有组?我不希望网格在刷新时崩溃。 –

0

随着Oleg的回答/建议和Jqgrid4.4.1,这里就是我所做的。这工作,当你想扩展/折叠的一些按钮的点击所有的行...

function expandCollapseGroups(expandAll) { 
    var $grid = $("#grid"); 
    var idPrefix =$grid[0].id + "ghead_0_", trspans; 
    var groups =$grid[0].p.groupingView.groups; 
    if ($grid[0].p.grouping) { 
     for (var index = 0; index < groups.length; index++) { 
      if (expandAll) { 
       trspans = $("#" + idPrefix + index + " span.tree-wrap-" +$grid[0].p.direction + "." +$grid[0].p.groupingView.plusicon); 
      } else { 
       trspans = $("#" + idPrefix + index + " span.tree-wrap-" +$grid[0].p.direction + "." +$grid[0].p.groupingView.minusicon); 
      } 
       if (trspans.length > 0) { 
       $grid.jqGrid('groupingToggle', idPrefix + index); 
     } 
     } 
    } 
} 
1

这是特定的jqGrid的特定版本,它扩展了所有层,但它是如此短暂而甜蜜,我只是无法拒绝发布它。

function expandAll() { 
    $("#myGrid .ui-icon-circlesmall-plus").trigger("click"); 
}