Reputation: 15024
I'm using the jquery DataTables plugin. From their documentation:
If sorting is enabled, then DataTables will perform a first pass sort on initialisation. You can define which column(s) the sort is performed upon, and the sorting direction, with this variable. The aaSorting array should contain an array for each column to be sorted initially containing the column's index and a direction string ('asc' or 'desc').
Is it possible to have sorting enabled but disable this first pass sort on initialization? I am currently doing the initial sort server side and need sorting functionality but don't need this initial sort functionality.
Upvotes: 304
Views: 200644
Reputation: 23
This question is old, but this might help if someone else is struggling with this and doesn't have enough time to find a better way to resolve it. I had a problem using ajax where if I use aaSorting": [], "order": [], "bSort": false or "ordering": false
. In all cases it gives an error. And I also have:
"columnDefs": [
{ sortable: false, orderable: false, targets: '_all' }
],
to disable ordering on all columns. That actually worked on all columns except the first one that ignores the orderable and keeps using the default ordering. So I found a rustic way to make that default ordering arrow to disappear.
I added to the datatable:
initComplete: function() {
$('th').removeClass('sorting_asc');
}
And now it is gone:
Upvotes: 1
Reputation: 15024
Well I found the answer set "aaSorting" to an empty array:
$(document).ready( function() {
$('#example').dataTable({
/* Disable initial sort */
"aaSorting": []
});
})
For newer versions of Datatables (>= 1.10) use order option:
$(document).ready( function() {
$('#example').dataTable({
/* No ordering applied by DataTables during initialisation */
"order": []
});
})
Upvotes: 707
Reputation: 8574
As per latest api docs:
$(document).ready(function() {
$('#example').dataTable({
"order": []
});
});
Upvotes: 117
Reputation: 939
In datatable options put this:
$(document).ready( function() {
$('#example').dataTable({
"aaSorting": [[ 2, 'asc' ]],
//More options ...
});
})
Here is the solution: "aaSorting": [[ 2, 'asc' ]],
2
means table will be sorted by third column,
asc
in ascending order.
Upvotes: 0