sum Datatable
sum Datatable
silens
Posts: 101Questions: 40Answers: 0
Buenos días. Estoy intentando este ejemplo pero me da un error cuando creo el footer en mi html.
https://datatables.net/examples/advanced_init/footer_callback.html.
Esta es mi funcion.
function misVentas(Finicio,Ffin){ //FUncion que pinta las ventas del agricultor
var parametros={
"Finicio": Finicio,
"Ffin": Ffin
};
tblVentas=$('#tblVentas').DataTable({
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;
// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};
// Total over all pages
total = api
.column( 6 )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
// Total over this page
pageTotal = api
.column( 6, { page: 'current'} )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
// Update footer
$( api.column( 6 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
},
"columnDefs": [
{ className: "dt-body-right", "targets": [ 4,5,6 ] }
],
"autoWidth": false,
"processing": true,
"destroy": "true",
"pagingType": "full_numbers", //Hace que se muestren todos los elementos de la paginación
"responsive": "true",
"language": {
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json"
},
//Botones----------------------------------------------------------------------
"dom": 'Bfrtip',
"buttons": [
'copyHtml5',
'excelHtml5',
'pdfHtml5'
],
"ajax": {
"data":parametros,
"url": "php/ventas.php", //web a la que llamo y hace el trabajo.
"type": "POST", //Metodo usado por la funcion para pasar variable
"dataSrc": "",
},
"columns": [
{ "data": "id" },
{ "data": "fch" },
{ "data": "alb" },
{ "data": "name" },
{ "data": "pre_fin" },
{ "data": "pso_net" },
{ "data": "imp" },
]
});
}
Este es mi HTML
<div class="row clearfix">
<div class="col-md-12 list-group row-no-padding"> <!----Tamaño de columna 12-->
<table id="tblVentas" class="hover cell-border row-border display compact" cellspacing="0" width="100%">
<thead>
<tr>
<th>Id</th>
<th>Fecha</th>
<th>Albaran</th>
<th>Genero</th>
<th>Precio</th>
<th>Kilos</th>
<th>Importe</th>
</tr>
</thead>
</table>
</div>
</div>
Según el ejemplo , cuando hago esto me da error.
<tfoot>
<tr>
<th colspan="4" style="text-align:right">Total:</th>
<th></th>
</tr>
</tfoot>
Me gustaría sumar el campo importe.
This discussion has been closed.
Answers
El error estaba en que el numero de columnas colspan no era el correcto. Todo solucionado.