如何获取 Angular UI 网格中分组列的数据

How to get data of grouped column in Angular UI Grid

如何获取AngularUI网格中分组列中所有行的数据?

比如官方Grouping Tutorial中如何获取'Company'列中的所有公司名称

我能够使用以下代码获取分组行的聚合值:

for (var i = 0, l = $scope.gridRows.length; i<l; i += 1){
    console.log($scope.gridRows[i].treeNode.aggregations[COLUMN_INDEX].value);
}

但不适用于 'Company' 列,因为它们不是该列的聚合值,而我想要的是所有公司的名称。

预先感谢您的宝贵时间。

这里的关键知识是$scope.gridApi.grid.treeBase.tree持有渲染树,而那棵树的结构在http://ui-grid.info/docs/#/api/ui.grid.treeBase.grid:treeBase

中描述

我认为你想做的是遍历那棵树并提取你想要的信息。

所以你真的想导航那棵拉出 row.entity.company 的树。我不清楚的是为什么这有意义 - 大概您实际上想要访问给定树节点下的特定公司,或者当前可见的公司。

如果您想要可见的公司,您可以在走树时选中 row.visible。如果你想要那些在特定节点下的,你需要一种方法来知道你想要哪个节点。如果您有一个要为其提取的 gridRow,则可以使用 row.treeNode.children 获取该特定行下的树的子集。