3

我正在使用数据表。除了常规表设置之外,我还使用数据表添加

行组-此处 概述

列总计- 使用此处 概述的页脚调用

我在这里有一个工作演示http://jsfiddle.net/c5UXe/

一切工作正常,除了我的总数被计算在右侧 1 列(正如您可以从演示中轻松看到的那样)我很确定原因是因为组的工作方式和显示方式。

我想在正确的列下显示总数。即将所有总数向左移动 1 列以正确排列。

使用的代码使用<td>行中的第一个作为组名,例如

<td>Joe Hammer</td>用作组名。

这是我用来计算总数的代码

"fnFooterCallback": function (nRow, aasData, iStart, iEnd, aiDisplay) {

        var columnas = [1, 2, 3, 4, 5, 6, 7]; //the columns you wish to add            
        for (var j in columnas) {
            var columnaActual = columnas[j];
            var total = 0;
            for (var i = iStart; i < iEnd; i++) {
                total = total + parseFloat(aasData[aiDisplay[i]][columnaActual]);
            }
            $($(nRow).children().get(columnaActual)).html(total);

        } // end 
4

2 回答 2

2

我相信你可以通过调整 JS 来完全解决它。

更新要添加的列

var columnas = [2, 3, 4, 5, 6, 7, 8];

然后得到 columnaActual-1 而不是 columnaActual

$($(nRow).children().get(columnaActual-1)).html(total);
于 2013-08-11T15:58:53.913 回答
1

我自己回答这个问题感觉很奇怪,但是以防万一其他人在这里遇到同样的问题。

更新了 JSFiddle http://jsfiddle.net/c5UXe/1/

我在列总数中添加了一个额外的内容,并通过 CSS 将样式设置为无<th>删除了列总数中的第二个。<th>

然后我更新了列以添加到此

var columnas = [2, 3, 4, 5, 6, 7,8]; //the columns you wish to add

删除第一个1并添加数字8

这是一个非常简单的修复,主要涉及调整 HTML 而不是 JS。

于 2013-08-11T15:54:06.170 回答