Convert a column visible index to a data index.

  • Author: Allan Jardine
  • Deprecated: This plug-in has been deprecated and replaced with other functionality. Please see the detailed description below for more information.

When DataTables removes columns from the display (bVisible or fnSetColumnVis) it removes these elements from the DOM, effecting the index value for the column positions. This function converts the visible column index into a data column index (i.e. all columns regardless of visibility).

DataTables 1.10+ has this ability built-in through the column.index() method. As such this method is marked deprecated, but is available for use with legacy version of DataTables.

Plug-in code

jQuery.fn.dataTableExt.oApi.fnVisibleToColumnIndex = function ( oSettings, iMatch )
    return oSettings.oApi._fnVisibleToColumnIndex( oSettings, iMatch );


This plug-in is available on the DataTables CDN:


Note that if you are using multiple plug-ins, it is beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.

Version control

If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!


var table = $('#example').dataTable( {
    aoColumnDefs: [
      { bVisible: false, aTargets: [1] }
  } );

  // This will show 2
  alert( 'Visible Column 1 data index: '+table.fnVisibleToColumnIndex(1) );