Datatables ColVis JS Object Columns
HTML
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.2.1/css/buttons.dataTables.min.css">
<script src="https://code.jquery.com/jquery-1.12.3.js"></script>
<script src="https://nightly.datatables.net/js/jquery.dataTables.js?_=f865a8fe2565c522ebdb98c0d4eb84e5"></script>
<script src="https://nightly.datatables.net/buttons/js/dataTables.buttons.min.js"></script>
<script src="https://nightly.datatables.net/buttons/js/buttons.colVis.min.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
</table>
JavaScript
$(document).ready(function() {
$('#example').DataTable( {
"columns": [
{ title: 'Name', className:'show' },
{ title: 'Position', className:'show' },
{ title: 'Office', className:'hide' },
{ title: 'Age', className:'hide' },
{ title: 'Start date', className:'show' },
{ title: 'Salary', className:'show' },
],
dom: 'Bfrtip',
buttons: [
{
extend: 'colvis',
columns: function ( idx, data, node ) {
console.log(idx);
}
}
]
} );
} );