KoolReport's Forum

Official Support Area, Q&As, Discussions, Suggestions and Bug reports.
Forum's Guidelines

Create rowGroup in DataTables of DataGrid package #367

Open KoolReport opened this topic on on Jul 12, 2018 - 3 comments

KoolReport commented on Jul 12, 2018

Question:

I have been looking around your forum for an example to the problem I have but I can't find one.

I am working with DataTables and need to add custom rows to the table. The link below shows what I am looking for.

https://datatables.net/extensions/rowgroup/examples/initialisation/customRow.html

Do you have an example that you can send me?

Solution:

Here is sample code of creating the same effect like above example:

<?php
DataTables::create([
    "dataSource"=>$this->dataStore("data"),
    "options"=>[
        "order"=> [[2, 'asc']],
        "rowGroup"=>[
            "startRender"=>null,
            "endRender"=>"function ( rows, group ) {
                var salaryAvg = rows
                    .data()
                    .pluck(5)
                    .reduce( function (a, b) {
                        return a + b.replace(/[^\d]/g, '')*1;
                    }, 0) / rows.count();
                salaryAvg = $.fn.dataTable.render.number(',', '.', 0, '$').display( salaryAvg );
 
                var ageAvg = rows
                    .data()
                    .pluck(3)
                    .reduce( function (a, b) {
                        return a + b*1;
                    }, 0) / rows.count();
 
                return $('<tr></tr>')
                    .append( '<td colspan=\"3\">Averages for '+group+'</td>' )
                    .append( '<td>'+ageAvg.toFixed(0)+'</td>' )
                    .append( '<td></td>' )
                    .append( '<td>'+salaryAvg+'</td>' );
            }",
            "dataSrc"=>2,
        ]
    ]
]);
?>

Note: This example works with KoolReport 2.75.0 and DataGrid 1.5.0

Jesus commented on Jul 12, 2018

Thank you for your quick response.

I am using your data table example with your input_and_export example but can't get it to work. Can you show me how you would use it in your input_and_export? When I add endRender the datatable looks just like a regular table. No sorting, paging or searching.

Thanks Jesus

KoolReport commented on Jul 15, 2018

Hi Jesus,

Just to let you know that we have released version 2.78.0 of KoolReport Pro. Please download this version and follow my above code.

Jesus commented on Jul 17, 2018

Thank you it works

Build Your Excellent Data Report

Let KoolReport help you to make great reports. It's free & open-source released under MIT license.

Download KoolReport View demo
wiki

DataGrid