Mit jQuery-Datatable - fnFooterCallback nach dem hinzufügen von Daten mit fnAddData
Ich versuche, die Summe meiner Summen-Spalte platziert in die Fußzeile mit "fnFooterCallback" aber ich bin nicht mit kein Glück, und ich bekomme immer "kann Nicht reinitialisiert Datatable" - Warnung auf mich.
Hier ist mein HTML code:
<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>
mein jQuery-code:
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);
}
});
Ich weiß, die Schaffung eines zweiten Aufruf dataTable ist mein problem, aber ich bin mir nicht sicher, wie Sie Sie sonst nennen die "fnFooterCallback" nach, die ich Hinzugefügt habe Daten mit dnAddData
InformationsquelleAutor Robert | 2013-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
So habe ich es herausgefunden.
Hatte ich es rückwärts. Ich brauchte zum initialisieren der Tabelle und verwenden Sie fnFooterCallback bei Zuweisung an eine variable.
und fügen Sie dann die Daten, die durch die Verkettung der fnAddData Aufruf der variable
InformationsquelleAutor Robert
Ich würde die callback -
fnCreateRow
und halten Sie die Summe in eine öffentliche variable.Jedoch, warum nutzen Sie nicht die "Elemente" als Datenquelle anstelle der Zugabe zu der Tabelle?
Sie versuchen, initialisieren Sie die Tabelle zweimal.
item.length +1
Zeiten. Gott weiß, wie viele Male, dass ist.Sicher...Element.Länge + n
InformationsquelleAutor simongus