对所有行的每一列求和?

时间:2019-09-03 15:50:42

标签: angular

我有这个:

 <tr table-tr *ngFor="let key of Object.keys(channels); let i=index" [data]="data" [channels]="channels"
            [width]="width" [name]="key" [i]="i" [mainObj]="obj" (emitter)="emitter($event)"></tr>
          <tr>

Table-tr组件:

         {{名称|翻译}}                    

Table-tds组件:

<table-td [data]="data" [field]="field" [total]="total"></table-td>

Table-td组件:

<input class='input' (focusout)="sumTotal()" type="number" step="0.01" [(ngModel)]="field.value">

我想对每一列的所有数据求和,但是说实话我没有任何想法如何做到这一点? 我没有每一行的所有数据,因此我无法遍历所有行并求和,例如index(0)。

任何建议我该如何实现?

1 个答案:

答案 0 :(得分:0)

  

每行没有所有数据,我可以为所有行求和   例如index(0)

如果您没有数据,那么您将无法获得总计。如果我要在表格中显示数据并且需要每一列的总计,我将使用以下内容。

创建一个方法并调用每一列以在HTML标记中将其总计:

getTotal(col) {
  return this.data.map(d => d[col]).reduce((colValue, value) => colValue + value, 0);
}

在HTML中:

getTotal('nameOfColumn');