「fnFooterCallback」を使用してフッターに配置された Totals 列の合計を取得しようとしていますが、運が悪く、「Datatable を再初期化できません」という警告が引き続き表示されます。
ここに私のHTMLコードがあります:
<table id="hours" border="1" class="display dataTable">
<thead>
<tr>
<th>
Order Number
</th>
<th>
Machine
</th>
<th>
Start
</th>
<th>
Stop
</th>
<th>
Total
</th>
<th>
Edit
</th>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
<tr>
<th>
Total:
</th>
</tr>
</tfoot>
</table>
私のjQueryコード:
for (var i = 0; i < item.length; i++) {
// add the data to the tbody
var oTable = $("#hours").dataTable().fnAddData([
item[i].OrderNumber,
item[i].MachineName,
item[i].startTime,
item[i].stopTime,
item[i].totalTime,
item[i].editButton
]);
}
// after the data is added, get the total of the Totals Column
oTable = $("#hours").dataTable(
{
"fnFooterCallback": function (nRow, aaData, iStart, iEnd, aiDisplay) {
var total = 0;
for (var i = 0; i < aaData.length; i++) {
total += aaData[i][4] * 1;
}
var page = 0;
for (var i = iStart; i < iEnd; i++) {
page += aaData[aiDisplay[i]][4] * 1;
}
/* Modify the footer row to match what we want */
var nCells = nRow.getElementsByTagName('th');
nCells[1].innerHTML = parseInt(page);
}
});
dataTable への 2 番目の呼び出しを作成することが問題であることはわかっていますが、dnAddData を使用してデータを追加した後、「fnFooterCallback」を呼び出す方法が他にわかりません。