使用外部按钮清除ng-grid中的分组

时间:2013-11-25 19:48:39

标签: javascript angularjs ng-grid

我有一个ng-grid,其数据按类别分组,如下所示:

$scope.gridOptions = {
  columnDefs: [
    {field: 'cat', displayName: 'Category'},
    {field: 'name', displayName: 'Name'},
    {field: 'val', displayName: 'Value'}
  ],
  data: 'myData',
  groups: ['cat']
}

我希望能够通过按钮在外部取消对ng-grid中的数据进行分组。我不想显示组面板(通过$scope.gridOptions.showGroupPanel: true),它提供了一个“X”来清除分组。

我在点击外部按钮时尝试执行以下操作但没有成功:

  • $scope.gridOptions.groups = [];
  • $scope.gridOptions.groups.length = 0

有关如何清除分组的任何建议?最后,我希望能够通过按钮打开/关闭分组;但是,清除分组似乎是一个很好的第一步。谢谢你的帮助!

这是Fiddle

2 个答案:

答案 0 :(得分:3)

源代码中有一个未记录的函数,用于以编程方式设置组。你可以简单地说:

gridOptions.groupBy(columnFieldKey)

不幸的是,我无法通过编程方式一次找到按多个列分组的方法。

答案 1 :(得分:1)

您可以通过一系列分组语句将列添加到现有分组列中。

gridOptions.groupBy(col1);
gridOptions.groupBy(col2);

您可以按

清除现有的群组
gridOptions.groupBy(null);