2013-10-18 1 views
3

헤더를 클릭 할 때 jqGrid에서 그룹을 자동으로 확장하려면 어떻게합니까? (단지 +/- 아이콘보다). onSelectRow 및 'groupingToggle'을 사용하여 무언가를 할 수 있었으면 좋겠지 만 onSelectRow는 그룹화 된 행을 선택하면 호출되지 않습니다.헤더를 클릭 할 때 JQGrid에서 그룹을 확장하십시오.

https://github.com/tonytomov/jqGrid/pull/350https://github.com/tonytomov/jqGrid/pull/353에 대한 기존의 일부 풀 요청을 보았습니다.하지만 내가 알기 좋아하지 않는 행동으로 보이지 않으므로 어떤 일이 일어 났는지 확실하지 않습니다.

답변

4

흥미로운 질문을 발견 했으므로, 요구 사항의 가능한 구현 중 하나를 나타내는 the demo을 만들었습니다. 내가 click 이벤트 핸들을 등록하고 우선은 클릭이 그룹화 헤더의 내부했다 핸들 내부 확인

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; 
     } 
    } 
}); 

위의 코드에서 : 그것은 다음과 같은 간단한 코드를 사용합니다. 그룹화 헤더는 <tr>이고 "jqgroup" 클래스입니다. 그런데 <tr>idgroupingToggle 방법에 사용할 수있는 groupid입니다. 해당 jqGrid 이벤트 핸들에서 이미 groupingToggle 메서드를 호출하는 "+"또는 "-"아이콘에 클릭이 발생하지 않았는지 확인해야하는 유일한 추가 작업입니다.

관련 문제