AngularJs uigrid自定义页脚:如何对给定列(int类型)的值求和并在网格页脚中显示它

时间:2015-12-11 08:21:24

标签: angularjs angular-ui-grid

我使用ui-grid来显示数据。在网格中有两列:

1)名称

2)工资

让我们说我的网格中有100行。我在网格中使用自定义页脚

gridFooterTemplate:'总小时/ IC费用:{{grid.appScope.ttlHrs}}'

以下是代码:

app.controller('MainCtrl', ['$scope', '$http', '$interval', '$q',     function ($scope, $http, $interval, $q) {
$scope.ttlHrs=10;
$scope.gridOptions = {
columnDefs: [
  { name: 'name' },
  { name: 'salary' }
],
gridFooterTemplate: '<div style="background-color:#6C87A0;color:white">total salary:{{grid.appScope.ttlSal}}</div>',
onRegisterApi: function( gridApi ){
  $scope.gridApi = gridApi;

  // interval of zero just to allow the directive to have initialized
  $interval( function() {
    gridApi.core.addToGridMenu( gridApi.grid, [{ title: 'Dynamic item', order: 100}]);
  }, 0, 1);

  gridApi.core.on.columnVisibilityChanged( $scope, function( changedColumn ){
    $scope.columnChanged = { name: changedColumn.colDef.name, visible: changedColumn.colDef.visible };
  });
}
};

$http.get('some url')
.success(function(data) {
  $scope.gridOptions.data = data;
 });
}]);

在这里,我显示了10英尺的工资总额。任何人都可以告诉我如何将所有行的薪水和这里的节目相加

在研究上花了一些时间后,我可以这样做:

$.each($scope.gridData, function (index, value) {
                 $scope.ttlHrs += parseInt($scope.gridData[index].Salary, 10);

             });

此解决方案对我有用。

任何人都可以告诉我另一种更好的方法。

0 个答案:

没有答案