我遇到与Setting the group option dynamically not working in ng-grid 2.0.7完全相同的问题。
缺点(新手在这里):
我已经成功地设法了解如何创建聚合行模板,从服务器加载,并指定组(在gridOptions中硬编码)以对数据进行分组。它工作得很漂亮。
但是,我的分组是动态的,也可以从服务器获得。当我尝试动态检索它们并在gridOptions中设置它们时,它们将被忽略。如果它们是硬编码的,它们可以工作,如果它们被检索和填充,我只会看到未分组的数据。
我尝试了很多东西,花了一天多的时间。在我看来,有些事情与几个内部位置的初始化有关,其中与组相关的状态被保持(config.groups,config.columnDefs,configGroups等,当我期望它们不是时,它们是空的。
还有其他人遇到过这个问题吗?
感谢。
克里斯
答案 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);
}
});