How to sum up selected columns?

How to sum up selected columns?

PixeloPixelo Posts: 9Questions: 3Answers: 0

How do you sum up the rows that have in the hidden column true?

Answers

  • PixeloPixelo Posts: 9Questions: 3Answers: 0
    edited April 2019

    My js on page

    var collapsedGroups = {};
            var top = '';
            var moneyGrid =
                $('#moneyGrid').DataTable({
                    "language": {
                        url: "/DataTables/dataTables.polish.lang.json"
                    },
                    paging: false,
                    "processing": true,
                    orderFixed: [[1, 'asc'],[2, 'asc']],
                    rowGroup: {
                        endRender: null,
                        startRender: function (rows, group, level) {
                            var all;
    
                            if (level === 0) {
                                top = group;
                                all = group;
                            } else {
                                if (!!collapsedGroups[top]) {
                                    return;
                                }
                                all = top + group;
                            }
    
                            var collapsed = !!collapsedGroups[all];
    
                            rows.nodes().each(function (r) {
                                r.style.display = collapsed ? 'none' : '';
                            });
                            var salesGroupSum = rows
                                .data()
                                .pluck(5)
                                .sum();
                            salesGroupSum = $.fn.dataTable.render.number('.', ',', 2, '', ' zł').display(salesGroupSum);
    
                            return $('<tr/>')
                                .append('<td colspan="5">' + group + ' (' + rows.count() + ')</td>')
                                .append('<td>' + salesGroupSum + '</td>')
                                .attr('data-name', all)
                                .toggleClass('collapsed', collapsed);
                        },
                        dataSrc: [1,2]
                    },
                    dom: 'lfrtBip',
                    responsive: true,
                    initComplete: function () {
                        $('#moneyGrid tbody tr.dtrg-start').each(function () {
                            var name = $(this).data('name');
                            collapsedGroups[name] = !collapsedGroups[name];
                        });
                        moneyGrid.draw(false);
                    },
                    buttons: [
                        {
                            extend: 'csv',
                            text: 'CSV',
                            charset: 'utf-8',
                            extension: '.csv',
                            fieldSeparator: ';',
                            fieldBoundary: '',
                            filename: 'export',
                            bom: true
                        }, 'excel', 'pdf',
                    ]
                });
    
    
            moneyGrid.on('rowgroup-datasrc', function (e, dt, val) {
                moneyGrid.order.fixed({ pre: [[val, 'asc']] }).draw();
            });
            $('#moneyGrid tbody').on('click', 'tr.dtrg-start', function () {
                var name = $(this).data('name');
                collapsedGroups[name] = !collapsedGroups[name];
                moneyGrid.draw(false);
            });
    
  • colincolin Posts: 15,237Questions: 1Answers: 2,598

    Hi @Pixelo ,

    This example is summing up columns. If that's not what you're after, we're happy to take a look, but as per the forum rules, please link to a test case - a test case that replicates the issue will ensure you'll get a quick and accurate response. Information on how to create a test case (if you aren't able to link to the page you are working on) is available here.

    Cheers,

    Colin

This discussion has been closed.