ng-Table分组:一次只打开一行

时间:2014-07-19 14:50:41

标签: angularjs ngtable

我在ng-Table中一次只显示一个打开的行。目前,如果打开一行,它将保持打开状态,直到用户手动折叠它。随着每个新行的打开,显示的数据越来越多。

我使用此代码启动关闭所有行的表格,但我很难知道如何只关闭一行。

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

此plunkr显示迄今为止的进度(http://plnkr.co/edit/2ABVrN?p=preview)。

泰德

1 个答案:

答案 0 :(得分: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