表中 ng 重复值的总和,以 angularjs 为单位按行排列



我是 Angularjs 的新手,并尝试使用 ng-repeat 用值(整数值(填充表,这些值使用输入变量 id=v1 正确填充在表中,但我无法将行的总和放入表最后一列的标签中,请帮助/指南。

网页代码:

<tbody>
<tr ng-controller="Dataload" ng-model="orderProp"  ng-repeat="(key, value) in Dataloads | groupBy:'project'">
<td>
<label id="projectname" name="projectname" readonly style="width:300px">{{key}}</label>
</td>
<td ng-repeat="Dataload in value | orderBy:'date':false ">
<div>
<select ID="DropDownList1" Width="8%" Height="28px">                                                                        
<option value="pending">&#9994;</option>
<option value="accept">&#9989;</option>
<option value="reject">&#10060;</option>
</select>
<input type="text" id="v1" name="" class="form-control" readonly="readonly" data-ng-model="Dataload.qty" required />
</div>
</td>
<td>
<label style="width:90px" name="total" id="total" >**want to show sum of row in this label**</label>
</td>
</tr>
</tbody>

控制器代码:

'use strict';
var app = angular.module("GMAO3App");
app.controller('Dataload', Dataload);
Dataload.$inject = ['$scope', '$rootScope', '$http', 'ngAuthSettings'];
function Dataload($scope, $rootScope, $http, ngAuthSettings) {
    var serviceBase = ngAuthSettings.apiServiceBaseUri;
    $http.get(ngAuthSettings.apiServiceBaseUri + 'web/partes/Dataload?worker=233&society=1&branch=0&start=2017-05-29&end=2017-06-04').
      success(function (data, status, headers, config) {
          $scope.Dataloads = data;
          var Data_project = [];
          var Data1_qty = [];
          var Data2_date = [];
          for (var i = 0; i <= $scope.Dataloads.length; i++) {
              Data_project[i] = $scope.Dataloads[i].project;
              Data1_qty[i] = $scope.Dataloads[i].qty;
              Data2_date[i] = $scope.Dataloads[i].date;
          }
      }).
      error(function (data, status, headers, config) {
          alert("error");
      });
};

示例图像:图像包含UI和示例数据,例如(1,6,1 2,3(,我想添加这些值并将其总和添加到行的最后一列

<label style="width:90px" name="total" id="total" >{{value | map:'qty' | sum}}
</label>

这解决了我的问题。感谢@Jenny

您可以访问 DataLoad lentgh 以获取显示在末尾、ng-repeat 之外的行数。

<td>
     <label style="width:90px" name="total" id="total">{{DataLoads.length}}</label>
</td>

编辑

试试这样:

<table>
    <tbody>
         <tr ng-controller="Dataload" ng-model="orderProp"  ng-repeat="(key, value) in Dataloads | groupBy:'project'">
             <td>
                 <label id="projectname" name="projectname" readonly style="width:300px">{{key}}</label>
             </td>
             <td ng-repeat="Dataload in value | orderBy:'date':false" ng-init="items.total = {}">
             <div>
                <select ID="DropDownList1" Width="8%" Height="28px">                                                                        
                   <option value="pending">&#9994;</option>
                   <option value="accept">&#9989;</option>
                   <option value="reject">&#10060;</option>
                </select>
              <input type="text" id="v1" name="" class="form-control" readonly="readonly" data-ng-model="Dataload.qty" ng-init="items.total.qty = items.total.qty + Dataload.qty" required />
             </div>
             </td>
             <td>
                 <label style="width:90px" name="total" id="total" >{{items.total.qty}}</label>
             </td>
         </tr>
    </tbody>
    <table>

最新更新