<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.11.3/b-2.1.1/date-1.1.1/sb-1.3.0/sr-1.0.1/datatables.min.css"/>
 
<script type="text/javascript" src="https://nightly.datatables.net/js/jquery.dataTables.js?312"></script>    
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  
    <p></p>
  <button id="showExtraInfo" data-status="false">Hide All Child Rows</Button>
  <p></p>
  
  
    <body>
    <div class="container">
     <table id="example" class="display" style="width:100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 table.dataTable tbody td.no-padding {
    padding-left: 20px;
    font-weight: normal;
    font-size: 12px !important;
    color: black;
    border-bottom: 1px solid #D5D8DC;
    border-width: thin;
  }
#childRowClass {
  color: black;
}
.childRed {
  color: red;
}
 
  
function format ( d ) {
  return '<div class = "childRowClass">'+d[1]+'</div>';
}
$(document).ready( function () {
        var data = [];
        for ( var i=0 ; i<10000 ; i++ ) {
            data.push( [ i, i, i, i, i, i ] );
        }
  
    var table = $('#example').DataTable({
      
      //stateSave: true,
      dom: 'pfrlti',
      data: data,
      //"ajax": "https://raw.githubusercontent.com/DataTables/DataTables/master/examples/ajax/data/arrays.txt",
      'createdRow': function(row, data, index){
        console.log('createdrow')
        var dtApi   = this.api();
        var jqTr    = $(row);
        var dtRow = dtApi.row(row);
        if(!dtRow.child.isShown()){
            dtRow.child(format(dtRow.data()), 'no-padding').show();
          }
        
      },
      'rowCallback': function(row, data, index){
console.log('rwocallback')
        var api = this.api();
        var dtRow = api.row( row );
        if($("#showExtraInfo").attr('data-status')=="true"){
            dtRow.child.hide();
            $(row).removeClass('shown');
            } else {
            dtRow.child.show();
            $(row).addClass('shown');
            }
        
      },
    });
  
          $('#showExtraInfo').on('click', function() {
          if($("#showExtraInfo").attr('data-status')=="false"){
            $("#showExtraInfo").attr('data-status','true');
            $("#showExtraInfo").html('Show All Child Rows');
            
            table.draw(false);
            }
          else {
            $("#showExtraInfo").attr('data-status','false');
            $("#showExtraInfo").html('Hide All Child Rows');
            table.draw(false);
           }
      });
  } );
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers