2017-12-06 25 views
0

각도 1.x의 다중 레벨 ui-grid를 구현 중이며 ui-grid를 처음 사용합니다. 내 그리드는 다음과 같습니다 : 그리드 A (확장 가능한 메인 그리드) -> 그리드 B (A에 대한 확장 가능한 서브 그리드) -> 그리드 C (B에 대한 확장 불가능 서브 그리드).다단계 ui-grid의 두 번째 레벨 subgrid 확장 이벤트를 감지하는 방법

문제는 그리드 B의 행이 펼쳐지는 것을 감지 할 수 없다는 것입니다. 나는 코드 아래 사용하여 그리드 (A)에 행에 대한 이벤트를 확장 감지 할 수 있어요 :

gridApi.expandable.on.rowExpandedStateChanged(scope, function(row) { 
     if (row.isExpanded) { 
      //do something 
     } 
    }); 

그러나, 아무것도 외부 그리드가 확장 될 때 나는 아 격자를 채울 그리드 B. 에서 행의 확장을 감지하기 위해 노력합니다. 따라서 그리드 C가로드 될 때 (그리드 B의 행 확장시) 서브 그리드에 대한 데이터를 가져 오기 위해 호출을해야합니다.

scope.gridOptions = { 

    expandableRowTemplate: '<div ui-grid="row.entity.subGridOptions" ui-grid-expandable class="grid" ></div>', 
    expandableRowScope: { subGridVariable: 'subGridScopeVariable' }, 
    columnDefs : [ ...],      
    data: [ 
     { 
     subGridOptions: { 
     expandableRowTemplate: '<div ui-grid="row.entity.subGridOptions1"></div>',    
     columnDefs: [...], 
     data: [ 
       { 
        ... 
        subGridOptions1 : { 
         columnDefs: [...], 
         data:[...] 
        } 
       } 
       ] 
     } 
     } 
    ] 
} 

은 아 격자 내부의 아 격자의 이벤트를 확장 감지 제발 도와주세요 :

여기 내 격자 구조입니다. 감사! 첫 번째 그리드와 마찬가지로 사용자가 정의 할 때

답변

0

의 subgridoptions 추가 :

onRegisterApi: function (subGridApi) { 
    subGridApi.expandable.on.rowExpandedStateChanged(scope, function(row) { 
    if (row.isExpanded) { 
     //do something 
    } 
    }); 
}