我正在使用AngularJS ui-grid并按照此tutorial来显示网格的列页脚,它运行正常。但是,在网格中添加分组功能后,列页脚消失了。
在105_footer教程中,我使用它来聚合列值:
aggregationType: uiGridConstants.aggregationTypes.SUM
在分组的列定义中,我将其添加到聚合列值:
treeAggregation: {type: uiGridGroupingConstants.aggregation.SUM}
答案 0 :(得分:3)
问题是列聚合不知道分组,所以它试图盲目地聚合列中的所有可见行。这可能会导致错误的答案。
这里有两种形式的错误:
默认情况下,分组会将标签放入文本中 - 例如,年龄列中的“Max:30”。聚合然后无法聚合。您可以使用customFinalizerFn修复此问题,就像我在下面的plunker中所做的那样
聚合只聚合所有可见行,包括groupHeader行。因此,如果您有一个级别的分组然后展开全部,则SUM聚合最终会使实际值加倍。如果你有两个级别的分组,它将是三倍。
简而言之,我认为使用列页脚和列级聚合与分组可能是一个坏主意。
http://plnkr.co/edit/1znbxELDzeNVK3x3G1c2?p=preview
showGridFooter: true,
showColumnFooter: true,
{ name: 'age', treeAggregationType: uiGridGroupingConstants.aggregation.MAX, aggregationType: uiGridConstants.aggregationTypes.avg, width: '20%', customTreeAggregationFinalizerFn: function( aggregation ){ aggregation.rendered = aggregation.value; } },
答案 1 :(得分:0)