动态设置组选项不适用于ng-grid 2.0.11

时间:2014-05-06 15:52:30

标签: angularjs ng-grid

我遇到与Setting the group option dynamically not working in ng-grid 2.0.7完全相同的问题。

缺点(新手在这里):

我已经成功地设法了解如何创建聚合行模板,从服务器加载,并指定组(在gridOptions中硬编码)以对数据进行分组。它工作得很漂亮。

但是,我的分组是动态的,也可以从服务器获得。当我尝试动态检索它们并在gridOptions中设置它们时,它们将被忽略。如果它们是硬编码的,它们可以工作,如果它们被检索和填充,我只会看到未分组的数据。

我尝试了很多东西,花了一天多的时间。在我看来,有些事情与几个内部位置的初始化有关,其中与组相关的状态被保持(config.groups,config.columnDefs,configGroups等,当我期望它们不是时,它们是空的。

还有其他人遇到过这个问题吗?

感谢。

克里斯

1 个答案:

答案 0 :(得分:2)

网格对象具有 groupBy 属性,您可以使用该属性动态聚合数据。 示例:

HTML:

<body ng-controller="MyCtrl">
<button type="button" ng-click="changeGroupBy('name')">Group By Name</button>
<button type="button" ng-click="changeGroupBy('age')">Group By Age</button>
<div class="gridStyle"  ng-grid="gridOptions"></div>
</body>

JS:

app.controller('MyCtrl', function($scope) {

    $scope.myData = [{"name": "Moroni", "age": 50},
              {"name": "Tiancum", "age": 53},
              {"name": "Jacob", "age": 27},
              {"name": "Nephi", "age": 54},
              {"name": "Alex", "age": 53},
              {"name": "Jhonny", "age": 22},
              {"name": "Ben", "age": 11},
              ],

    $scope.gridOptions = { 
        data: 'myData'
        };

    $scope.changeGroupBy = function (group) {
     $scope.gridOptions.groupBy(group);
   }
});

实例:http://plnkr.co/edit/A0q3c98s8K4h3n83MULE?p=preview