3

单击标题时如何在jqGrid中自动展开组?(而不仅仅是 +/- 图标)。我曾希望我可以对 onSelectRow 和 'groupingToggle' 做一些事情,但是当您选择“分组”行时,似乎不会调用 onSelectRow。

我在https://github.com/tonytomov/jqGrid/pull/350https://github.com/tonytomov/jqGrid/pull/353看到了一些现有的拉取请求,但不确定他们发生了什么这似乎不是我看到的行为。

4

1 回答 1

4

我发现这个问题很有趣,所以我创建了演示该要求的一种可能实现的演示。它使用以下简单代码:

var groupingView = $grid.jqGrid("getGridParam", "groupingView"),
    plusIcon = groupingView.plusicon,
    minusIcon = groupingView.minusicon;
$grid.click(function (e) {
    var $target = $(e.target),
        $groupHeader = $target.closest("tr.jqgroup");
    if ($groupHeader.length > 0) {
        if (e.target.nodeName.toLowerCase() !== "span" ||
                (!$target.hasClass(plusIcon) && !$target.hasClass(minusIcon))) {
            $(this).jqGrid("groupingToggle", $groupHeader.attr("id"));
            return false;
        }
    }
});

在上面的代码中,我注册了click事件句柄,首先在句柄内部验证点击是否在分组标题内。分组标题正在<tr>上课"jqgroup"。顺便说一句,id可以在groupingToggle方法上使用。唯一需要验证的是单击不是在“+”或“-”图标上,该图标已经调用了相应 jqGrid 事件句柄中的方法。<tr>groupidgroupingToggle

于 2013-10-18T19:19:56.700 回答