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

Schreibe einen Kommentar