Я использую primeng datatable в одном проекте. Я пытаюсь получить сумму в нижнем колонтитуле группировки строк DataTable. Суммирование должно проводиться во время редактирования данных и ввода новых данных.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>
Почему в сводном поле я получаю конкатенацию строк и не получить сумму? Возможно, кто-то сделал такое? Задача довольно тривиальная, но я не знаю, как использовать этот элемент управления.
Посмотрите на изменения. Консоль также возвращает конкатенацию вместо суммирования. – Seva
Думаю, вам нужно это '(+ sum) + (+ current)' –
Спасибо. Это работает!!! – Seva