2017-05-09 7 views
0

Angular UI-Grid v4.0.4에는 확장 가능한 행 안에있는 각 행에 대해 'ViewLog'라는 버튼이 있습니다. ViewLog 단추를 클릭하면 자식 행 안에있는 데이터를 표시하려고합니다. cellTemplate에서 row.entity.subGridOptions.data 배열이며, 상기 예에서는 제확장 행에 일치하는 subGridOptions.data 요소를 어떻게 찾습니까?

gridApi.expandable.on.rowExpandedStateChanged($scope, function (row) { 
    if (row.isExpanded) { 
     row.entity.subGridOptions = { 
      appScopeProvider: $scope, 
      columnDefs: [ 
       { 
        name: 'Log', 
        field: '', 
        width: "85", 
        cellTemplate: '<button ng-click="grid.appScope.displayLogFile(row.entity.subGridOptions.data[howToFindRightElement]);">View Log</button>' 
       } 
      ] 
     }; 
    } 
}); 

:

는 구조 expandable위한

Parent Row 1 
    | 
    --- (ViewLog) Child 1 (json for child 1) 
    --- (ViewLog) Child 2 (json for child 2) 
    --- (ViewLog) Child 3 ... 
    | 
Parent Row 2 
    | 
    --- (ViewLog) Child 1 (json for child 1) 
    --- (ViewLog) Child 2 ... 

코드이다. 부모 행을 확장 한 후 선택한 자식 행과 일치하는 해당 배열에서 올바른 요소를 식별하는 방법을 알아낼 수 없습니다.

자식 행에서 JSON을 찾아서 displayLogFile()으로 전달하고 싶습니다.

+0

코드를 추가 할 수 있습니까? row.entity가 어떻게 구조화되어야하는지에 대한 의미에서. –

+0

@JonBlack 아무것도 표시 할 필요가 없습니다. 단순히 현재 subGrid 행이 무엇인지 알아 내려고합니다. row.entity.subGridOptions.data []에서 요소를 가져올 수 있도록 버튼을 누른 행을 찾습니다. – Dayan

+0

그게 내 혼란이야. 당신이 이걸로 무엇을 준비하고 있는지 이해하기가 어렵습니다. 나는'appLogB64'가 어디에서 왔는지 이해하지 못합니다. 당신이 확장 한 원래의 행에서 오는 것이지요? 아니면 subGridOptions에서 얻는 추가 데이터에서 오는 것입니까? –

답변

1

잘 이해하면 행을 확장 한 후에 새로 생성 된 UI 그리드의 데이터를보고 싶습니다. 그렇다면, 당신이 치료할 필요가 있다고 생각하는 또 다른 범위입니다. row.entity in expandable !== row.entity in cellTemplate. 그렇다면 반드시 필요한 것은 row.entity입니다. 따라서 다음 columnDef 설정이 효과가 있습니다.

row.entity.subGridOptions = { 
    appScopeProvider: $scope, 
      columnDefs: [ 
       { 
        name: 'Log', 
        field: '', 
        width: "85", 
        cellTemplate: '<button ng-click="grid.appScope.displayLogFile(row.entity);">View Log</button>' 
       } 
      ] 
     }; 
+0

존,'howToFindRightElement'는 내가 하드 코딩 할 수없는 부분이기 때문에 거기에 넣은 자리 표시 자입니다. 사용자가 클릭 한 행이 확실하지 않기 때문에 배열에서로드 할 데이터를 알 수 없습니다. 그게 내가 알아 내려고하는거야. 사용자가 부모 행이 아닌 자식 행을 클릭 한 행을 식별하십시오 * 그러면 배열에서 가져올 데이터를 알 수 있습니다. – Dayan

+0

오, 오하이오, 이제 알겠습니다. –

+0

LOL ... 정말로, 그게 다야!? 고마워, 고마워. – Dayan