Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX、求和和和添加总页脚的数据表_Javascript_Html_Ajax_Datatable_Datatables - Fatal编程技术网

Javascript 使用AJAX、求和和和添加总页脚的数据表

Javascript 使用AJAX、求和和和添加总页脚的数据表,javascript,html,ajax,datatable,datatables,Javascript,Html,Ajax,Datatable,Datatables,我有一个由以下代码创建的datatable var data = results.rows; var column_names = results.headers; if (column_names) { var columns = []; var total = 0; for (var i = 0; i < column_names.length; i++) { columns[i] =

我有一个由以下代码创建的datatable

    var data = results.rows;
    var column_names = results.headers;

    if (column_names) {
        var columns = [];
        var total = 0;
        for (var i = 0; i < column_names.length; i++) {
             columns[i] = {
                  'title': column_names[i],
                  'data': i
            }
        };

        dataTable=$('#report').DataTable( {
            columns: columns,
            data: data,
            paging: false,
            dom: 'Bfrtip',
            buttons: [
                'copy', 'csv', 'excel', 'pdf', 'print'
            ]
        }
        );
        showTable();
        dataTable.columns.adjust().draw();
    } else {
        alert('No Results Found');
    }
var data=results.rows;
var column_names=results.headers;
如果(列名称){
var列=[];
var合计=0;
对于(变量i=0;i
我想在表中添加一个页脚,该页脚包含第2列的总和,并且有文字显示“总计:

html中的表如下所示:

    <table id="report" class="compact"> 
    </table>

我尝试在html中添加一个页脚,但在重新运行报告时,页脚被覆盖,因此需要在代码的顶部执行此操作,以便在每次创建表时显示页脚

提前感谢:)

我在这里找到了一个例子

它看起来不会像你希望的那么漂亮,但它会起作用的。 它利用API的
footerCallback
,并使用表的列索引和基本数学返回总数

代码的数据表部分如下所示:

dataTable=$('#report').DataTable( {
        columns: columns,
        data: data,
        paging: false,
        dom: 'Bfrtip',
        "footerCallback": function (tfoot, data, start, end, display) {
            var api = this.api();
            var p = api.column(2).data().reduce(function (a, b) {
                return a + b;
            }, 0)
            $(api.column(2).footer()).html("Total: "+p);
        },
        buttons: [
            'copy', 'csv', 'excel', 'pdf', 'print'
        ]
    }
);

我粘贴了代码,出现了一个错误“DataTables警告:table id=report-无法重新初始化DataTable。有关此错误的详细信息,请参阅“浏览器中的concsole返回错误”Uncaught TypeError:无法读取未定义的属性“sDefaultContent”这可能是因为在数据中键入了BigDecimal吗,我必须更改列编号!很好用,谢谢!