【问题标题】:Explanation of fnFooterCallback for DataTablesDataTables 的 fnFooterCallback 的解释
【发布时间】:2013-10-11 20:07:47
【问题描述】:

我正在使用通过调用 Neo4j 数据库加载的 aaData 数组创建一个表。我想创建一个页脚行来总结其他行中的数据,我找到了 fnFooterCallback 但我不明白他们是如何使用它的。这是我在 DataTables 网站上找到的示例

$(document).ready( function() { 
    $('#example').dataTable( {
        "fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {
            nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;
        }
    } );
} )

我知道我将 aaData 数组放在 aData 的位置,但我不知道其他四个参数来自哪里。我是数据表的新手,除了 a 代表数组、n 代表节点和 i 代表整数之外,在文档中找不到任何解释它的内容。

我的桌子一点也不新奇。第一列是解释行中内容的文本,其余列包含整数。我只想要一个在第一列中显示总计的页脚,然后显示所有其他列的总和

【问题讨论】:

    标签: jquery datatables


    【解决方案1】:

    它是这样工作的:

    当它绘制表格时,当它在绘制页脚时,它会执行你定义的函数。 在您的示例中,它只是将页脚的第一个单元格替换为提供的文本。

    这是我做的另一个例子:

    function( nRow, aaData, iStart, iEnd, aiDisplay ) {
            /* Calculate sums of page shown */
            var iPageMargem = 0;
            var iPageClient = 0;
            var iPageMaximo = aaData[ aiDisplay[iStart] ][5]*1;
            var i;
            for ( i=iStart ; i<iEnd ; i++ ) {
                iPageMargem += aaData[ aiDisplay[i] ][2]*1;
                iPageClient += aaData[ aiDisplay[i] ][3]*1;
                if (aaData[ aiDisplay[i] ][5]*1 > iPageMaximo) {
                    iPageMaximo = aaData[ aiDisplay[i] ][5]*1;
                };
            }                       
            var nCells = nRow.getElementsByTagName('td');
            nCells[2].innerHTML = $.jqplot.sprintf("%'.2f",iPageMargem);
            nCells[3].innerHTML = $.jqplot.sprintf("%'.0f",iPageClient);
            nCells[4].innerHTML = $.jqplot.sprintf("%'.2f",iPageMargem/iPageClient);
            nCells[5].innerHTML = $.jqplot.sprintf("%'.2f",iPageMaximo);
            iPageMargem=null;
            iPageClient=null;
            iPageMaximo=null;
            i=null;
            nCells=null;
        };
    

    数据是这样的:

    ["Tipo","Segmento","Margem","Clientes","Média","Máximo"],
    ["PF","Exclusivo",137066708.81,263220,520.73,119718.04],
    ["RR","Representante Governos",5776837.90,30257,190.93,35185.36],
    ["PJ","Investidores Institucionais Privados",280488.03,40,7012.20,236619.62],
    ["","Total","","","",""]
    

    它将计算第三列和第四列的总和以及第五列的最大值,但只计算当前显示的页面。然后它将用这些值替换页脚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 2016-05-05
      • 2014-06-02
      • 2011-03-24
      相关资源
      最近更新 更多