DataTables行分组小计

时间:2015-07-30 22:22:51

标签: jquery datatables

当我的场地有空间时,例如。名字姓氏,我不能和。 另外我如何在列[0]上使用number_format Totals? 这个例子我在这里找到: RowGrouping and Subtotal on Datatable

https://jsfiddle.net/annoyingmouse/6c3wzwcd/

我想要

http://jsfiddle.net/alord84/ehup45xh/

 "drawCallback": function (settings) {
    var api = this.api();
    var rows = api.rows({
        page: 'current'
    }).nodes();
    var last = null;
    api.column(0, {
        page: 'current'
    }).data().each(function (group, i) {
        if (last !== group) {
            $(rows).eq(i).before(
            $("<tr></tr>", {
                "class": "group",
                "data-id": group
            }).append($("<td></td>", {
                "colspan": 5,
                "class": "pocell",
                "text": "PO # " + group
            })).append($("<td></td>", {
                "id": "e" + group,
                "class": "noCount",
                "text": "0.00"
            })).append($("<td></td>", {
                "id": "p" + group,
                "class": "noCount",
                "text": "0.00"
            })).append($("<td></td>", {
                "id": "b" + group,
                "class": "noCount",
                "text": "0.00"
            })).prop('outerHTML'));
            last = group;
        }
        val = api.row(api.row($(rows).eq(i)).index()).data();
        $("#e" + val.PO_Nbr).text(parseFloat($("#e" + val.PO_Nbr).text()) + parseFloat(val.Encum_Amt));
        $("#p" + val.PO_Nbr).text(parseFloat($("#p" + val.PO_Nbr).text()) + parseFloat(val.Paid));
        $("#b" + val.PO_Nbr).text(parseFloat($("#b" + val.PO_Nbr).text()) + parseFloat(val.Balance));
    });
},

1 个答案:

答案 0 :(得分:1)

这是因为创建总计的代码部分使用了一个ID,而你的ID有一个空格,因而打嗝。

这应该适用于您的情况:

  v1 <- c(df$TeamName, NA)# appending an NA with the example to show the case
  is.na(v1) <- v1=='' #convert the `'' to `NA`
  as.numeric(ave(v1, v1, FUN=length))
  #[1]  3  2  3  3  2 NA NA

如果从ID中删除了空格并且在没有空格的组上进行了比较,那么它应该用作you expect