2016-10-24 1 views
2

저는 Ag-grid (무료)를 Angular 1로 사용하고 있습니다. 이미 노드의 자식이 원하는 열로 표시되도록 내 트리 데이터를 얻었습니다. 그것의 권리. 그러나 내가하고 싶은 것은 더블 클릭으로 노드를 축소하거나 확장하는 것입니다. 현재 내 기본보기가 확장되기 시작한 이후로 접히는 데 주력합니다. 여기에 $ scope.gridOptions 내에서 주어진 더블 클릭 이벤트에 대한 내 코드는 다음과 같습니다ag-grid - 트리 데이터 확대/축소

onCellDoubleClicked: function(event){ 
             event.node.expanded = false; 
             $scope.gridOptions.api.refreshView(); 
            }; 

내 가정 false로 확장 된 속성을 변경하면의 refreshView 호출이 자식 노드와 그리드가 무너 다시 렌더링 발생할 것이라고했지만, 뷰는 두 번 클릭 한 후에 변경되지 않습니다. gridOptions 내

또한, 내 getChildNodeDetails : 나는 기업을 구입하지 않고이 문제를 해결하는 방법에

getNodeChildDetails: function(obj){ 
       if (obj.children){ 
        var nodeType = obj.breakdownCol; 
        return { 
         group: true, 
         expanded: obj.expanded || true, 
         children: obj.children, 
         field: 'name', 
         key: obj[nodeType] 
        } 
       } else { 
        return null; 
       } 
      } 

어떤 아이디어? 엔터프라이즈에서는 행을 그룹화 할 수 있으며 확장/축소 기능이 빌드되어 제공된다는 사실을 알고 있습니다.

+0

[행 그룹화 (예)]보다는 [행 그룹화 (예)] (https://www.ag-grid.com/javascript-grid-grouping/exampleGroupingKeys.html)를 다시 만들려고한다고 가정합니다. https://www.ag-grid.com/javascript-grid-grouping-headers/example1.html) correct? ... 열 그룹핑이 무료 버전의 일부이기 때문에 ... –

+0

@JarodMoser 정확함, 작동해야 함 해당 행 그룹화 예제에서 볼 수있는 확장/축소. – withoutdistraction

답변

1

내 자신의 응용 프로그램에서 행 그룹화 기능을 시뮬레이트하는 해결 방법을 만들었습니다. 실제로는 그리드의 데이터 인 adds and removes입니다.

이 옵션의 한 가지 단점은 행이 실제로 테이블에 없기 때문에 열의 필터링이나 정렬이 실제로 그리드가 아닌 실제 엔터프라이즈 기능과 달리 표시되지 않는 데이터에서 발생할 수 없다는 것입니다 제공합니다. 그러나 필터링 및 정렬을 비활성화 한 경우이 옵션은 완벽하게 실행 가능합니다. 이 같은

뭔가 :

function toggleExpansion(index, data) { 
    if (insert) { 
     gridOptions.api.insertItemsAtIndex(index, data); 
    } else { 
     gridOptions.api.removeItems(data) 
    } 
} 

내 특정 코드는이 질문에 관련이없는 더 확인하고 다른 것들로 전환하지만 내가 주위를 작품으로 뭘 오전의 간단한 설명입니다.