Я пытаюсь суммировать столбцы в jquery datatable, но нижний колонтитул таблицы не отображается
Итоги Появляются в консоли, а итоги изменяются при фильтрации или поиске.
Но в таблице нет тега нижнего колонтитула после init
Я не уверен, что инициализация таблицы вызывается до footerCallback
Таблица работает нормально, итоги рассчитываются, но я думаю, что все это происходит до инициализации таблицы. Это правильно
Если я прав, какие изменения требуются?
var table = $('#resultstable').DataTable(
{
fixedHeader: {
footer: true,
footerOffset: 40
},
"paging": false,
"info":false,
"stateSaving":true,
"searching":true,
"order": [[ 1, "asc" ]],
data:tabledata,
columnsDef:[
{
"targets":[2],
ClassName:"sum"
}],
columns:[
{
className:'details-control',
orderable:false,
data:null,
defaultContent: '',
},
{
orderable:true,
className:"packName",
title:"Name : "
},
{
className:'sum',
orderable:true,
title:"Total : ",
},
{
className:'sum',
title:"Passed : ",
orderable:true,
},
{
className:'sum',
title:"Failed ",
orderable:true,
},
{
className:'sum',
title:"New Failures ",
'orderable':true
}
],
"fnCreatedRow": function( nRow, aData, iDataIndex )
{
$(nRow).attr('value', aData[(aData.length-1)]);
},
"initComplete": function(settings, json)
{
},
"footerCallback":function(row, data, start, end,display)
{
var api = this.api();
var cols = api.columns('.sum',{search:'applied'});
cols.every(function(){
var sum = this
.data()
.reduce(function(a,b){
var x = parseFloat(a) || 0;
var y = parseFloat(b) || 0;
return x + y;
},0);
console.log(sum);
$(this.footer()).html(sum);
});
}
} );