Sort datatable by hidden column

datatables, javascript, jquery

Solution

From the documentation:.

iDataSort The column index (starting from 0!) that you wish a sort to be performed upon when this column is selected for sorting. This can be used for sorting on hidden columns for example.

`Default: -1` Use automatically calculated column index

`Type: int`

// Using aoColumnDefs
$(document).ready( function() {
  $('#example').dataTable( {
    "aoColumnDefs": [
      { "iDataSort": 1, "aTargets": [ 0 ] }
    ]
  } );
} );
 
// Using aoColumns
$(document).ready( function() {
  $('#example').dataTable( {
    "aoColumns": [
      { "iDataSort": 1 },
      null,
      null,
      null,
      null
    ]
  } );
} );

Problem

I have `datatable` with `id, firstName, lastName, phone, updated` fields. Problem: I add to `datatable` only four fields (id, firstName, lastName and phone). `Updated` field is hidden. Question: how to sort `datatable` by `updated` field? My code: ``` $('#table').dataTable({ sDom: '<"top"fi>tS', sScrollY: ($(window).height() - 250) + "px", bPaginate: false, bDeferRender: true, bAutoWidth: false, oLanguage: { sInfo: "Total: _TOTAL_ entities", sEmptyTable: "No pending entities" }, "aoColumnDefs": [ { "iDataSort": 4, "aTargets": [ 0 ] } ], "aoColumns": [ { "sWidth": "10%" }, { "sWidth": "40%" }, { "sWidth": "30%" }, { "sWidth": "20%" }, { "sTitle": "updated ", "bVisible":false } ], fnCreatedRow: function( nRow, aData, iDataIndex ) { $(nRow).attr('id', aData[0]); } }); table.fnAddData([id, firstName, lastName, phone, updated]); ```

Original source

Related problems