2014-07-19 3 views
1

ng-Table에는 한 번에 열려있는 행 하나만 표시합니다. 현재 열이 열리면 사용자가 수동으로 열 때까지 열려 있습니다. 새로운 행이 열릴 때마다 점점 더 많은 데이터가 표시됩니다.ng-Table 그룹화 : 한 번에 한 행만 열기

나는이 코드를 사용하여 모든 행을 닫은 상태에서 테이블을 시작하지만, 한 행만 닫는 방법을 잘 모르겠다.

app.controller('groupCtrl', function($scope) { 
    $scope.group.$hideRows = true; 
}); 

이 plunkr는 날짜 (http://plnkr.co/edit/2ABVrN?p=preview)에 진행 상황을 보여줍니다.

테드

답변

2

개념은 개별 그룹 제어기에 모든 그룹 통과 제외한 모든 확장 된 그룹을 축소하도록 선택

보기 HTML :

<tbody ng-repeat="group in $groups | orderBy:'value'" sortable="'sortletter'" 
    ng-controller="groupCtrl"> 
    <tr class="ng-table-group"> 
    <td colspan="{{$columns.length}}"> 
     <a href="" ng-click="switchGroup(group, $parent.$groups)"> 

groupCtrl :

app.controller('groupCtrl', function($scope) { 
    //console.log($scope); 
    $scope.group.$hideRows = true; 
    //  console.log("scope.group.$hideRows"+$scope.group.$hideRows); 

    $scope.switchGroup = function(group, groups){ 
    if(group.$hideRows){ 
     angular.forEach(groups, function(g){ 
     if(g !== group){ 
      g.$hideRows = true; 
     } 
     }); 
    } 

    group.$hideRows = !group.$hideRows; 
    }; 
});  

Plunker