我在一个项目中使用了primeng数据表。 我试图在分组DataTable的行的页脚中得到总和。必须在数据编辑和输入新数据期间进行求和。
Folow函数计算总和:
sumNum1: number;
calculateGroupTotal1(sectionId: number) {
this.sumNum1 = this.model.Register10Data.map(c => c.SectionId === 1 ? c.Num1 : 0)
.reduce((sum, current) => +sum + current);
console.log(this.sumNum1);
return this.sumNum1;
}
SectionId是分组数据的值。
在页脚中我调用此函数。我是从第一个例子开始做的 - http://www.primefaces.org/primeng/#/datatable/rowgroup
<template pTemplate="rowgroupfooter" let-rowData>
<td style="text-align:left">Sum</td>
<td style="text-align:center">X</td>
<td style="text-align:center">X</td>
<td>{{calculateGroupTotal1(rowData['SectionId'])}}</td>
<td></td>
<td></td>
<td></td>
</template>
为什么在汇总字段中我会得到字符串的连接而不是获取金额? 也许有人做过这样的事情?这项任务非常简单,但我不知道如何使用这种控制。
答案 0 :(得分:1)
我想问题是您使用的值是字符串。您需要将值转换为数字才能执行计算。
您可以按照this answer中的说明使用let numericalSum = Number(sum);
或let numericalSum = +sum;
。