Я хочу суммировать столбец, чтобы получить общий итог из файла PDF, созданного pdfmake
Пример данных:
#ID ItemName Description Unit Qty Amount Subtotal
1 Mawe Misumari ya ukuta KG 10 3,000.00 30,000.00
2 Mawe Misumari ya ukuta PCS 10 50,000.00 500,000.00
3 Mawe Kwa ajili ya misingi KG 20 3,000.00 60,000.00
Поэтому я хочу суммировать столбец промежуточных итогов с pdfmake во время экспорта и получить что-то вроде
#ID ItemName Description Unit Qty Amount Subtotal
1 Mawe Misumari ya ukuta KG 10 3,000.00 30,000.00
2 Mawe Misumari ya ukuta PCS 10 50,000.00 500,000.00
3 Mawe Kwa ajili ya misingi KG 20 3,000.00 60,000.00
-----------------------------------------------------------------
Total: 590,000.00
-----------------------------------------------------------------
Любая идея, пожалуйста.
мы также можем рассчитать на странице просмотра вручную этим
<?php $total=0; ?>
<?php foreach($query as $row): ?>
<?php $total += $row['Subtotal'];?>
<?php endforeach ?>
И мы можем показать это <?php echo"$total_qty"?>
Нет. PDFMake делает PDF-файлы, но это не калькулятор, и его не волнует содержание, которое он печатает. Вы должны подвести итоги сами.
Спасибо, ребята, я решил это, я просто использовал здесь решение, которое, я думаю, могло бы помочь кому-то там.
Надеюсь, что код читабелен и прост для понимания. Еще раз спасибо.
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;
var intVal = function ( i ) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};
total = api
.column( 6 ) //Getting the column # i want to sum
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
pageTotal = api
.column( 6, { page: 'current'} )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
$( api.column( 6 ).footer() ).html(
'TZS '+ pageTotal.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'/='+
'( TZS '+ total.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'/= total)'
);
}