【问题标题】:Clear grouping in ng-grid with external button使用外部按钮在 ng-grid 中清除分组
【发布时间】:2013-11-25 19:48:39
【问题描述】:

我有一个 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

【问题讨论】:

  • 您能提供 Plunker/Fiddle 解决您的问题吗?
  • 你是用 HTML5 还是 jQuery UI 来做表格组?
  • @TiagoBarreto - HTML5,但由于我不希望组面板可见(因此,没有拖放),这并不重要
  • @MaximShoustin - 将小提琴添加到问题末尾 (jsfiddle.net/kabb5/DVT95/11)

标签: javascript angularjs ng-grid


【解决方案1】:

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

gridOptions.groupBy(columnFieldKey)

不幸的是,我无法找到一种方法以编程方式一次按多个列进行分组。

【讨论】:

【解决方案2】:

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

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

您可以通过

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

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 2016-04-11
    • 2014-12-23
    • 2013-03-15
    • 2014-09-27
    • 2014-09-09
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多