Conditional total sum in certain column in footer
Conditional total sum in certain column in footer
bumbar
Posts: 2Questions: 0Answers: 0
I want to take the sum from a column, but only from cells that have a td class="active"
I put this class with conditions in the code.
I can also put this class in tr class="active".
I would also like things to be calculated in footerCallback to recalculate the sum of the column when doing a search
<table id="example" class="display" style="width:100%">
<tbody>
<tr>
<td>Edinburgh</td>
<td class="active">30</td>
</tr>
<tr>
<td>Tokyo</td>
<td>170</td>
</tr>
<tr>
<td>Ashton</td>
<td>86</td>
</tr>
<tr>
<td>Edinburgh</td>
<td class="active">40</td>
</tr>
</table>
SUM: 70
"footerCallback": ...........
var api = this.api(), data;
var cells = $('td.active'); <-- get only active cells
pageTotal = api
.column( 4, { page: 'current'} )
.data()
.reduce( function (a, b) {
//if (api.cells(cells).data()) { <-- This is not right and ugly!!!
return intVal(a) + intVal(b);
//}
}, 0 );
$( api.column( 4 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
Can anyone give advice? Thank you.
Replies
This example should help. It's adding a class "red" to all age cells > 60, then summing those on the current page. To sum all pages, remove "{page: current}". Hope that helps,
Colin
This is what I wanted. Thanks!