如何在数据表

时间:2016-01-19 22:06:58

标签: datatable datatables

我在显示数据表中某些列的总和方面存在问题。一个问题是我的表是动态创建的,即用户选择要显示的列,以便列索引不固定!

其次footerCallback添加代码抛出ncaught TypeError:无法读取属性' nTf'未定义的错误

<tfoot>
  <tr>
    <td colspan='2'> <span style="float:right;"id ='totalcol1'></span> </td>
  </tr>
</tfoot>

FooterCAllback在var table =(&#39;#mytable&#39;)中定义.Datable()

 "footerCallback": function ( row, data, start, end, display ) {
  var api = this.api(), data;
  $(api.column(11).footer()).html(
        api.column(11).data().reduce( function ( a, b ) { return a + b;})
     );
/* For second column
  $(api.column(12).footer()).append(
        api.column(12).data().reduce( function ( a, b ) { return a + b;})
     );*/
 },

1 个答案:

答案 0 :(得分:0)

我发现example看起来就像你想做的那样

$(document).ready(function() {
    $('#example').DataTable( {
        "footerCallback": function ( row, 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( 4 )
                .data()
                .reduce( function (a, b) {
                    return intVal(a) + intVal(b);
                }, 0 );

            // Total over this page
            pageTotal = api
                .column( 4, { page: 'current'} )
                .data()
                .reduce( function (a, b) {
                    return intVal(a) + intVal(b);
                }, 0 );

            // Update footer
            $( api.column( 4 ).footer() ).html(
                '$'+pageTotal +' ( $'+ total +' total)'
            );
        }
    } );
} );