Angular + ui-grid +计算列的总数

时间:2015-10-01 11:19:38

标签: javascript angularjs angular-ui-grid

我指的是Angular UI网格页面 http://ui-grid.info/docs/#/tutorial/105_footer

示例代码:

     $scope.gridOptions.columnDefs = [{
        name: 'grandTotalSales',
        displayName: 'Total Amount',
        cellFilter: 'sumFilterSales:this', 
        aggregationType: uiGridConstants.aggregationTypes.sum,        
        enableCellEdit: false,
        filter: {
            placeholder: 'Search..'
        },
        enableSorting: true
       }]

过滤功能的代码是

 .filter('sumFilterSales', function () {
  return function (value,scope) {
     if(scope.row !== undefined) {
     var netAmount=  scope.row.entity.netAmount;
     var vatSales= scope.row.entity.vatSales;     
     var sum = Math.round(netAmount) + Math.round(vatSales);
     return sum;
    }
   };
 })

现在,如果我使用 sumFilterSales ,aggregationType不会给出列的总和 如果我们删除了这个sumFilterSales,那么它会正确地给出总和。

请让我知道如何以另一种方式计算色谱柱的总和。 请注意我无法删除sumFilterSales,因为它会自动计算第一列到第三列的前两列。 我希望在页脚的最后一栏中得到总和。

1 个答案:

答案 0 :(得分:1)

我知道我迟到了回答这个问题,但对于一些仍在寻找答案的人来说。

$scope.gridApi.grid.columns[column_number].getAggregationValue()

您可以通过这种方式访问​​特定列的总和