数据表 (jQuery) - 对所有行求和

Datatables (jQuery) - sum ALL rows

我有以下内容,它成功地计算了数据表单个页面上的总行数。我如何获得组中所有行的总和,而不仅仅是任何单个页面上的总和?

rowGroup: {
        dataSrc: 0,

        startRender: function (rows, group) {
            var sum = rows
                .data()
                .pluck(3)
                .reduce(function (a, b) {
                    return a + b * 1;
                }, 0);

            return $('<tr/>')
                .append('<td colspan="3">' + group + ' - Total Coverages: ' + sum + '</td>')
        }

  .append('<td colspan="3">' + group + ' - Coverages: ' + totCov + '</td>')
    },

我的理解是startRenderendRender中的rows参数只覆盖当前页面显示的那些行。如果要计算所有行,则需要使用 filter() 根据 group 过滤 table 并计算总和。这是一个例子:

    rowGroup: {
      endRender: function ( rows, group ) {
        var filteredData = $('#example').DataTable()
          .rows()
          .data()
          .filter( function ( data, index ) {
            return data[2] == group ? true : false;
          } )
          .pluck(5)
          .sum();
        return group +' ('+rows.count()+' rows on page, $' + filteredData + ' salary total all pages)';
    },
        dataSrc: 2
    }

基本上它会过滤第 2 列,然后对过滤后的行中的第 5 列求和。它显示当前页面中的行数以及该组在所有页面上的总薪水。

sum()方法来自sum() plug-in。你可以在这里看到这个例子: http://live.datatables.net/fazigehi/1/edit