jqgrid - 在分组中展开全部/全部折叠

时间:2012-10-15 22:04:33

标签: jquery jqgrid

有没有办法可以在jqgrid中实现扩展全部/折叠所有功能以进行分组功能?据我所知设置groupingCollapse:true,折叠数据,但我想使其动态,可能是点击网格中放置的+/-图标。提前感谢任何建议/帮助...

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这是特定于jqgrid的特定版本,它扩展了所有图层,但它太短而且很甜,我无法拒绝发布它。

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

答案 2 :(得分: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);
        }   
        }
    } 
}