2017-02-13 64 views
1

我在一个项目中使用primeng数据表。 我试图在分组DataTable的行的页脚中获得总和。总结必须在数据编辑和输入新数据期间进行。Primeng数据表。计算数量并在页脚中显示它

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

我想问题是你使用的值是字符串。您需要将该值转换为数字才能执行计算。

您可以使用let numericalSum = Number(sum);let numericalSum = +sum;,如this answer中所述。

+0

看看更改。控制台也返回连接而不是求和。 – Seva

+1

我觉得你需要它成为'(+ sum)+(+ current)' –

+0

谢谢。其作品!!! – Seva

相关问题