В Angular JS как отключить функцию сортировки столбцов для выбранных столбцов

В таблице данных jquery я могу отключить определенную сортировку столбца

"aoColumnDefs": [{
                'bSortable': false,
                'aTargets': [0, 7]
            }]

Кто-нибудь знает, как это сделать в 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') 
}])

этот код скрывает мою панель поиска, но не может скрыть функцию сортировки моего первого и четвертого столбцов?

Ответ 1

Значение angular -datatables эквивалентно

aoColumnDefs: [{ bSortable: false, aTargets: [0, 4] }]

есть

$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>

Вы должны включить DTColumnDefBuilder в контроллер:

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()
       ];
    }
])

см. http://l-lin.github.io/angular-datatables/archives/#!/api.

Ответ 2

Я пробовал все возможные решения для отключения сортировки, но единственное, что сработало для меня, было: order: false. Используйте это для справки

Мои dtOptions были ниже

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
            }                
        ]
    }