我正在使用角度ui-grid(没有ng-grid),并希望传递一个函数来计算列的总值。在文档中,他们明确表示这是可能的;只是我找不到怎么做。
这就是我为其他列显示总和(总和)的方式:
aggregationType: uiGridConstants.aggregationTypes.sum,
aggregationHideLabel: true,
footerCellFilter: 'currencyFilter',
footerCellClass: 'ui-grid-centerCell'
现在,我想传递一个函数来计算值,而不是使用 uiGridConstants.aggregationTypes.sum 。
非常感谢和再见......
答案 0 :(得分:0)
我的想法是在你的控制器中创建一个方法,如
$scope.sum = function(row){
var sum1 = row.entity.sum1 + row.entity.sum2;
console.log('Sum of Value is = ',sum1);
}
注意:sum1和sum2是Field值的columnDef,如
$scope.gridsOptions = {
columnDefs : [
{
field : 'sum1',
name :'xx'
},
{
field : 'sum2',
name : 'xxx'
}
]}
答案 1 :(得分:0)
您还可以通过添加自定义树聚合来解决此问题。
treeCustomAggregations: {
sum: {
aggregationFn: stats.aggregator.sumSquareErr, finalizerFn: function (aggregation) {
//Do rest of your calculations here
var total = $scope.gridApi.grid.columns[column_number].getAggregationValue() ;
aggregation.value = total ;
aggregation.rendered = (aggregation.value).toFixed(1);
}
或者您可以参考this自定义聚合模板的问题并从中调用自定义函数。