单击标题时,如何在jqGrid中自动展开组? (而不仅仅是+/-图标)。我希望我能用onSelectRow和'groupingToggle'做一些事情,但是当你选择“分组”行时,似乎没有调用onSelectRow。
我在https://github.com/tonytomov/jqGrid/pull/350和https://github.com/tonytomov/jqGrid/pull/353看到了一些现有的拉取请求,但不确定他们发生了什么,因为我看到的行为似乎没有。
答案 0 :(得分:4)
我发现这个问题很有意思,所以我创建了the demo,它演示了一个可能的需求实现。它使用以下简单代码:
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
的{{1}}是可以在groupingToggle方法上使用的<tr>
。唯一需要验证的是,点击不在“+”或“ - ”图标上,该图标已在相应的jqGrid事件句柄中调用groupid
方法。