各列の合計を取得し、その結果をフッターに表示しようとしています。私は"footerCallback"関数を使用してDatatables提供しています。しかし、それはフッターに何も表示されていないDatatables footerCallback関数がフッターに結果を表示しない
のDataTableは
は「表がTFOOT要素を持っていない場合、このコールバック が発射されないことに注意してください。」説明します
コールバックが
<table id="monthlytable" class="display" cellspacing="0" width="100%">
<thead></thead><tfoot></tfoot></table>
コールバックの目的球発射されますので、だから私は、テーブルにTFOOTを追加しました:
"footerCallback": function (tfoot, 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(3)
.data()
.reduce(function (a, b) {
return intVal(a) + intVal(b);
}, 0);
// Update footer
var numFormat = $.fn.dataTable.render.number('\,', '.', 2, '£').display;
$(api.column(3).footer()).html(numFormat(total));
}
を私は同じコードで"headerCallback"
を使用して試してみました上記のように(ヘッダーに表示するように変更)、完全に正常に動作します。
headerCallbackは動作しますが、footerCallbackは動作しない理由はありますか?