DataTables

This example show how to build a fixed order column despite sorting, filtering.

Row
employeeNumber
firstName
lastName
jobTitle
extension
1,002 Diane Murphy President x5800
1,056 Mary Patterson VP Sales x4611
1,076 Jeff Firrelli VP Marketing x9273
1,088 William Patterson Sales Manager (APAC) x4871
1,102 Gerard Bondur Sale Manager (EMEA) x5408
1,143 Anthony Bow Sales Manager (NA) x5428
1,165 Leslie Jennings Sales Rep x3291
1,166 Leslie Thompson Sales Rep x4065
1,188 Julie Firrelli Sales Rep x2173
1,216 Steve Patterson Sales Rep x4334
1,286 Foon Yue Tseng Sales Rep x2248
1,323 George Vanauf Sales Rep x4102
1,337 Loui Bondur Sales Rep x6493
1,370 Gerard Hernandez Sales Rep x2028
1,401 Pamela Castillo Sales Rep x2759
1,501 Larry Bott Sales Rep x2311
1,504 Barry Jones Sales Rep x102
1,611 Andy Fixter Sales Rep x101
1,612 Peter Marsh Sales Rep x102
1,619 Tom King Sales Rep x103
1,621 Mami Nishi Sales Rep x101
1,625 Yoshimi Kato Sales Rep x102
1,702 Martin Gerard Sales Rep x2312

This example show how to build a fixed order column despite sorting, filtering.

<?php
require_once "MyReport.php";

$report = new MyReport;
$report->run()->render();
<?php
//Step 1: Load KoolReport
require_once "../../../load.koolreport.php";

//Step 2: Creating Report class
class MyReport extends \koolreport\KoolReport
{
    function settings()
    {
        return array(
            "dataSources"=>array(
                "automaker"=>array(
                    "connectionString"=>"mysql:host=localhost;dbname=automaker",
                    "username"=>"root",
                    "password"=>"",
                    "charset"=>"utf8"
                ),
            )
        ); 
    } 
    protected function setup()
    {
        $this->src('automaker')
        ->query("SELECT employeeNumber, firstName,lastName,jobTitle, extension from employees")
        ->pipe($this->dataStore("employees"));
    } 

}
<?php
    use \koolreport\datagrid\DataTables;
?>
<div class="report-content">
    <div class="text-center">
        <h1>DataTables</h1>
        <p class="lead">
        This example show how to build a fixed order column despite sorting, filtering.
        </p>
    </div>
    
    <?php
    DataTables::create(array(
        "name" => "OrderedTable",
        "dataSource"=>$this->dataStore("employees"),
        "themeBase"=>"bs4", // Optional option to work with Bootsrap 4
        "cssClass"=>array(
            "table"=>"table table-striped table-bordered"
        ),
        "columns" => array(
            "indexColumn" => ["label" => "Row", "formatValue" => function($value, $row) { return ""; }],
            "employeeNumber", "firstName", "lastName", "jobTitle", "extension"
        ),
        "options" => array(
            "paging" => true,
            "searching" => true,
        ),
        "onReady" => "function() {
            OrderedTable.on( 'order.dt search.dt', function () {
                OrderedTable.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
                    cell.innerHTML = i+1;
                } );
            } ).draw();
        }",
    ));
    ?>
</div>

What People Are Saying

"KoolReport helps me very much in creating data report for my corporate! Keep up your good work!"
-- Alain Melsens

"The first use of your product. I was impressed by its easiness and powerfulness. This product is a great and amazing."
-- Dr. Lew Choy Onn

"Fantastic framework for reporting!"
-- Greg Schneider

Download KoolReport Get KoolReport Pro