In jquery data table I can disable specific column sort by
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0, 7]
}]
Anyone know how to do this in angular JS?
<table class="custom-table" datatable="ng" dt-options="dtOptions" id="contacts-list-table">
</table>
myApp.controller("ListCtr", ['DTOptionsBuilder', function(DTOptionsBuilder) {
$scope.dtOptions = DTOptionsBuilder.newOptions().withDOM('C<"clear">lfrtip')
}])
this code hiding my search bar but not able to hide sort feature of my first and fourth column?
The angular-datatables equivalence to
aoColumnDefs: [{ bSortable: false, aTargets: [0, 4] }]
is
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(4).notSortable()
];
...
<table class="custom-table" dt-column-defs="dtColumnDefs" datatable="ng" dt-options="dtOptions" id="contacts-list-table"></table>
You must include DTColumnDefBuilder
in the controller :
myApp.controller("ListCtr", ['DTOptionsBuilder', 'DTColumnDefBuilder',
function(DTOptionsBuilder, DTColumnDefBuilder) {
$scope.dtOptions = DTOptionsBuilder.newOptions().withDOM('C<"clear">lfrtip');
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(4).notSortable()
];
}
])
see http://l-lin.github.io/angular-datatables/archives/#!/api.
I have tried every possible solution to disable sorting but the only thing that worked for me was : order: false
. Use this for reference
My dtOptions
were as below
vm.dtOptions = {
dom: '<"top"f>rt<"bottom"<"left"<"length"l>><"right"<"info"i><"pagination"p>>>',
pagingType: 'simple',
autoWidth: false,
responsive: true,
order: false, // This fixed the issue
columnDefs : [{
targets: [0, 1, 2, 3, 4, 5, 6, 7], // column or columns numbers
orderable: false, // This was not working
filterable: false,
sortable : false
},
{
// Target the actions column
targets : 8,
responsivePriority: 1,
filterable : false,
sortable : false,
orderable: false
}
]
}