code: function ()
  	{
  		var that = this;
  		var dt = this.s.dt;
  
  		// Find how many columns are hidden
  		var hiddenColumns = dt.columns().indexes().filter( function ( idx ) {
  			var col = dt.column( idx );
  
  			if ( col.visible() ) {
  				return null;
  			}
  
  			// Only counts as hidden if it doesn't have the `never` class
  			return $( col.header() ).hasClass( 'never' ) ? null : idx;
  		} );
  		var haveHidden = true;
  
  		if ( hiddenColumns.length === 0 || ( hiddenColumns.length === 1 && this.s.columns[ hiddenColumns[0] ].control ) ) {
  			haveHidden = false;
  		}
  
  		if ( haveHidden ) {
  			// Show all existing child rows
  			dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
  				var row = dt.row( idx );
  
  				if ( row.child() ) {
  					var info = that.c.details.renderer( dt, row[0] );
  
  					// The renderer can return false to have no child row
  					if ( info === false ) {
  						row.child.hide();
  					}
  					else {
  						row.child( info, 'child' ).show();
  					}
  				}
  			} );
  		}
  		else {
  			// Hide all existing child rows
  			dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
  				dt.row( idx ).child.hide();
  			} );
  		}
  	}
docs: Update the child rows in the table whenever the column visibility changes
  
  @private