Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据表上的行分组和小计_Javascript_Jquery_Model View Controller_Datatables - Fatal编程技术网

Javascript 数据表上的行分组和小计

Javascript 数据表上的行分组和小计,javascript,jquery,model-view-controller,datatables,Javascript,Jquery,Model View Controller,Datatables,全部,, 我在数据表上使用RowGrouping,对于每个组,我需要对一些列(Encum、Paid、Balance)进行小计,并对所有列(Encum、Paid、Balance)进行总计。我对这个数据表很陌生,无法获得所需的结果。这里是代码是已经使用过的。我需要显示其中3列的$value,并且在标题处进行小计。 请在这里帮助我,代码为jsfiddle:jsfiddle.net/6r2pjbg8 var table = S$('#EncumbranceSummaryTable').DataTable

全部,, 我在数据表上使用RowGrouping,对于每个组,我需要对一些列(Encum、Paid、Balance)进行小计,并对所有列(Encum、Paid、Balance)进行总计。我对这个数据表很陌生,无法获得所需的结果。这里是代码是已经使用过的。我需要显示其中3列的$value,并且在标题处进行小计。 请在这里帮助我,代码为jsfiddle:jsfiddle.net/6r2pjbg8

var table = S$('#EncumbranceSummaryTable').DataTable({
        "columnDefs": [
            { "visible": false, "targets":0 }
        ],   
        "stateSave": false,
        "stateDuration": 60*60*24*365,
        "data" : POnbrsDetails,           
        "columns":[
             {"sTitle": "PO #", "data": "PO_Nbr" },
             {"sTitle": "FY", "data": "FY" },
             {"sTitle": "LN", "data": "LN" },
             {"sTitle": "F/O/A","data":"FOA"},
             {"sTitle": "Project ID", "data": "Proj_ID" },
             {"sTitle": "Srce Type", "data": "Srce_Type" },
             {"sTitle": "Encumbrance","data":"Encum_Amt"},
              {"sTitle": "Paid","data":"Paid"},
             {"sTitle": "Balance", "data": "Balance" }      

        ],
        "drawCallback": function ( settings ) {                
            var api = this.api();
            var rows = api.rows( {page:'current'} ).nodes();
            var last=null;

            var colonne = api.row(0).data().length;
            var totale = new Array();
            totale['Totale']= new Array();
            var groupid = -1;
            var subtotale = new Array();


            api.column(0, {page:'current'} ).data().each( function ( group, i ) {  
                debugger;
                if ( last !== group ) {
                    S$(rows).eq( i ).before(
                        '<tr class="group"><td colspan="5">'+group+'</td></tr>'
                    );

                    last = group;
                }                
                //sub total
                val = api.row(api.row($(rows).eq( i )).index()).data();      //current order index
                $.each(val,function(index2,val2){
                    debugger;
                    if (typeof subtotale[groupid] =='undefined'){                           
                        subtotale[groupid] = new Array();
                    }
                    if (typeof subtotale[groupid][index2] =='undefined'){                           
                        subtotale[groupid][index2] = 0;
                    }
                    if (typeof totale['Totale'][index2] =='undefined'){                           
                        totale['Totale'][index2] = 0;
                    }

                  //  valore = Number(val2.replace('€',"").replace('.',"").replace(',',"."));
                    subtotale[groupid][index2] += 1;
                    totale['Totale'][index2] += 2;
                });
            } );

            $('tbody').find('.group').each(function (i,v) {

                var rowCount = $(this).nextUntil('.group').length;
                //$(this).find('td:first').append($('<span />', { 'class': 'rowCount-grid' }).append($('<b />', { 'text': ' ('+rowCount+')' })));
                var subtd = '';
                for (var a=0;a<3;a++)
                { 
                    subtd += '<td>'+ subtotale[i][a] +'</td>';
                }

                $(this).append(subtd);
            });

        }
    });
var table=S$(“#产权负担汇总表”).DataTable({
“columnDefs”:[
{“可见”:false,“目标”:0}
],   
“stateSave”:false,
“状态持续时间”:60*60*24*365,
“数据”:庞氏体,
“栏目”:[
{“sTitle”:“PO#”和“data”:“PO#u Nbr”},
{“缝合”:“FY”,“数据”:“FY”},
{“sTitle”:“LN”,“data”:“LN”},
{“sTitle”:“F/O/A”,“数据”:“FOA”},
{“sTitle”:“项目ID”,“数据”:“项目ID”},
{“sTitle”:“Srce类型”,“data”:“Srce_类型”},
{“sTitle”:“产权负担”,“数据”:“Encum_Amt”},
{“sTitle”:“Paid”,“data”:“Paid”},
{“缝合”:“平衡”,“数据”:“平衡”}
],
“drawCallback”:函数(设置){
var api=this.api();
var rows=api.rows({page:'current'}).nodes();
var last=null;
var colonne=api.row(0.data().length;
var totale=新数组();
totale['totale']=新数组();
var-groupid=-1;
var subtotale=新数组();
列(0,{page:'current'}).data().each(函数(组,i){
调试器;
如果(最后!==组){
S$(行).eq(i).之前(
''+组+''
);
last=组;
}                
//小计
val=api.row(api.row($(rows.eq(i)).index()).data();//当前订单索引
$.each(val,function(index2,val2){
调试器;
if(typeof subtotale[groupid]=='undefined'){
subtotale[groupid]=新数组();
}
if(typeof subtotale[groupid][index2]=='undefined'){
subtotale[groupid][index2]=0;
}
如果(totale['totale'][index2]=='undefined'){
totale['totale'][index2]=0;
}
//valore=编号(val2.替换('€','')。替换('.','')。替换('.','');
小故事[groupid][index2]+=1;
totale['totale'][index2]+=2;
});
} );
$('tbody')。查找('.group')。每个(函数(i,v){
var rowCount=$(this).nextUntil('.group').length;
//$(this.find('td:first').append($(“”,{'class':'rowCount grid')).append($(“”,{'text':'('+rowCount+'))}));
var subtd='';

对于(var a=0;a这对你有用吗

var POdata = [{
    "PO_Nbr": "3000202173",
    "FY": 2015,
    "LN": "1.1",
    "FOA": "2500/T7935002/T790225",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "6251",
    "Encum_Amt": 66033.62,
    "Paid": 36508.35,
    "Balance": 29525.27
}, {
    "PO_Nbr": "3000202173",
    "FY": 2015,
    "LN": "1.2",
    "FOA": "2600/T7935002/T790226",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "6251",
    "Encum_Amt": 212824.56,
    "Paid": 117665.45,
    "Balance": 95159.11
}, {
    "PO_Nbr": "3000143638",
    "FY": 2014,
    "LN": "1.1",
    "FOA": "2500/T7935002/T790225",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "6251",
    "Encum_Amt": 32350.84,
    "Paid": 32350.84,
    "Balance": 0
}, {
    "PO_Nbr": "3000143638",
    "FY": 2014,
    "LN": "1.2",
    "FOA": "2600/T7935002/T790226",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "6251",
    "Encum_Amt": 104265.84,
    "Paid": 104265.84,
    "Balance": 0
}, {
    "PO_Nbr": "3000079267",
    "FY": 2013,
    "LN": "1.1",
    "FOA": "2500/T7935002/T790225",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "9025",
    "Encum_Amt": 21339.91,
    "Paid": 21339.91,
    "Balance": 0
}, {
    "PO_Nbr": "3000079267",
    "FY": 2013,
    "LN": "1.2",
    "FOA": "2600/T7935002/T790226",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "9025",
    "Encum_Amt": 68778.06,
    "Paid": 68778.06,
    "Balance": 0
}, {
    "PO_Nbr": "3000038524",
    "FY": 2012,
    "LN": "1.1",
    "FOA": "2500/T7935002/T790225",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "9025",
    "Encum_Amt": 12752.54,
    "Paid": 12752.54,
    "Balance": 0
}, {
    "PO_Nbr": "3000038524",
    "FY": 2012,
    "LN": "1.2",
    "FOA": "2600/T7935002/T790226",
    "Proj_ID": "TLRR922B",
    "Srce_Type": "9025",
    "Encum_Amt": 41101.1,
    "Paid": 41101.1,
    "Balance": 0
}];

var table = $('#EncumbranceSummaryTable').DataTable({
    "data": POdata,
    "columns": [
        {
            "title": "PO #",
            "data": "PO_Nbr",
            "visible": false
        }, {
            "title": "FY",
            "data": "FY"
        }, {
            "title": "LN",
            "data": "LN",
            "sortable": false
        }, {
            "title": "F/O/A",
            "data": "FOA",
            "sortable": false
        }, {
            "title": "Project ID",
            "data": "Proj_ID",
            "sortable": false
        }, {
            "title": "Srce Type",
            "data": "Srce_Type",
            "sortable": false
        }, {
            "title": "Encumbrance",
            "data": "Encum_Amt",
            "sortable": false
        }, {
            "title": "Paid",
            "data": "Paid",
            "sortable": false
        }, {
            "title": "Balance",
            "data": "Balance",
            "sortable": false
        }
    ],
    "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));
        });
    },
    "footerCallback": function (row, data, start, end, display) {
        var api = this.api();
        $(api.column(6).footer()).html(
            api.column(6).data().reduce(function (a, b) {
                return parseFloat(a) + parseFloat(b);
            })
        );
        $(api.column(7).footer()).html(
            api.column(7).data().reduce(function (a, b) {
                return parseFloat(a) + parseFloat(b);
            })
        );
        $(api.column(8).footer()).html(
            api.column(8).data().reduce(function (a, b) {
                return parseFloat(a) + parseFloat(b);
            })
        );
    }
});
var POdata=[{
“PO_Nbr”:“3000202173”,
“FY”:2015年,
“LN”:“1.1”,
“FOA”:“2500/T7935002/T790225”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“6251”,
“Encum_金额”:66033.62,
“已付”:36508.35,
“余额”:29525.27
}, {
“PO_Nbr”:“3000202173”,
“FY”:2015年,
“LN”:“1.2”,
“FOA”:“2600/T7935002/T790226”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“6251”,
“Encum_金额”:212824.56,
“已付”:117665.45,
“余额”:95159.11
}, {
“PO_Nbr”:“3000143638”,
“财年”:2014年,
“LN”:“1.1”,
“FOA”:“2500/T7935002/T790225”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“6251”,
“Encum_金额”:32350.84,
“已付”:32350.84,
“余额”:0
}, {
“PO_Nbr”:“3000143638”,
“财年”:2014年,
“LN”:“1.2”,
“FOA”:“2600/T7935002/T790226”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“6251”,
“Encum_金额”:104265.84,
“已付”:104265.84,
“余额”:0
}, {
“PO_Nbr”:“3000079267”,
“财年”:2013年,
“LN”:“1.1”,
“FOA”:“2500/T7935002/T790225”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“9025”,
“Encum_金额”:21339.91,
“已付”:21339.91,
“余额”:0
}, {
“PO_Nbr”:“3000079267”,
“财年”:2013年,
“LN”:“1.2”,
“FOA”:“2600/T7935002/T790226”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“9025”,
“Encum_金额”:68778.06,
“已付”:68778.06,
“余额”:0
}, {
“PO_Nbr”:“3000038524”,
“财年”:2012年,
“LN”:“1.1”,
“FOA”:“2500/T7935002/T790225”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“9025”,
“Encum_金额”:12752.54,
“已付”:12752.54,
“余额”:0
}, {
“PO_Nbr”:“3000038524”,
“财年”:2012年,
“LN”:“1.2”,
“FOA”:“2600/T7935002/T790226”,
“项目ID”:“TLRR922B”,
“Srce_类型”:“9025”,
“Encum_金额”:41101.1,
“已付”:41101.1,
“余额”:0
}];
变量表=$(“#产权负担汇总表”).DataTable({
“数据”:POdata,
“栏目”:[
{
“标题”:“PO#”,
“数据”:“采购订单编号”,
“可见”:错误
}, {
“标题”:“FY”,
“数据”:“FY”
}, {
“标题”:“LN”,
“数据”:“LN”,
“可排序”:false
}, {
“标题”:“F/O/A”,
“数据”:“FOA”,
“可排序”:false
}, {
“标题”:“项目ID”,
“数据”:“项目ID”,
“可排序”:false
}, {
“标题”:“Srce类型”,
“数据”:“Srce_类型”,
“可排序”:false
}, {
“所有权”:“产权负担”,
“数据”:“金额”,
“可排序”:false
}, {
“头衔”:“已付”,
“数据”:“已支付”,
“可排序”:false
}, {
“标题”:“Bal”