<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<link href="https://cdn.datatables.net/datetime/1.1.0/css/dataTables.dateTime.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/datetime/1.1.0/js/dataTables.dateTime.js"></script>
<link href="https://cdn.datatables.net/searchbuilder/1.1.0/css/searchBuilder.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/searchbuilder/1.1.0/js/dataTables.searchBuilder.js"></script>
  <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.7.0/js/dataTables.buttons.min.js"></script>
      <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.7.0/css/buttons.dataTables.min.css"/>
    
      <script type="text/javascript" src="https://cdn.datatables.net/colreorder/1.5.3/js/dataTables.colReorder.min.js"></script>
      <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/colreorder/1.5.3/css/colReorder.dataTables.min.css"/>
      <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.7.0/js/buttons.colVis.min.js"></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]+' - Extn: '+'<extn_class>'+d[3]+'</extn_class>'+'</div>';
}
$(document).ready( function () {
  
    var table = $('#example').DataTable({
      dom: 'pfrlti',
      "ajax": "https://raw.githubusercontent.com/DataTables/DataTables/master/examples/ajax/data/arrays.txt",
      'createdRow': function(row, data, index){
        
        var dtApi   = this.api();
        var jqTr    = $(row);
        var dtRow = dtApi.row(row);
        if(!dtRow.child.isShown()){
            dtRow.child(format(dtRow.data()), 'no-padding').show();
          }
        
        if(data[3]>=5000){
            $(row).find('extn_class').css('color', 'orange');
        }
        
      },
      'rowCallback': function(row, data, index){
        console.log($("#showExtraInfo").attr('data-status'));
        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');
            setTimeout(function(){ 
              console.log('rowcallback red', $('div.childRowClass').length);
              $('div.childRowClass').css('color', 'red');
              
            }, 0);
              
            
            }
        
      },
    });
  
          $('#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