2015-06-24 7 views
10

In jquery Datentabelle deaktivieren I bestimmten Spalte sortiert nachIn Angular JS, wie Spaltensortierfunktion für ausgewählte Spalten

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

Jedem deaktivieren kann wissen, wie dies in Winkel JS zu tun?

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

Dieser Code versteckt meine Suchleiste aber nicht in der Lage, Sortierfunktion meiner ersten und vierten Spalte zu verbergen?

+0

Sie möchten Ihre tr Elemente nicht anklickbar sein? Kannst du den tr-Code auch posten? Es wäre hilfreich, wenn Sie den vollständigen Tabellencode einfügen. –

+0

Eine der Möglichkeiten ist, dass Sie ng-click = "$ event.stopPropogation();" für dieses div/tr-Element und manipulieren Sie es in js .... würde Ihnen eine genauere Antwort geben, wenn Sie mehr Details geben, wie Sie die Tabelle implementiert – clearScreen

+0

können Sie eine Geige oder Plumer bereitstellen oder Ihren Code für die Tabelle – akashrajkn

Antwort

15

Die Winkel-Datentabellen Gleichartigkeit mit

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

ist

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

Sie DTColumnDefBuilder im Controller enthalten muss:

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

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

+0

tun Sie weiß, wie man "aLengthMenu" setzt: [[5, 10, 15, 20, -1], [5, 10, 15, 20, "All"]] in eckige Datentabelle – vinothini

+1

@vinothini, großartig, du hast es zur Arbeit gebracht (anscheinend?) - in Bezug auf 'aLengthMenu' gibt es keinen" übersetzten "Namen/Methode, aber dann sollten Sie' .withOption ('aLengthMenu', [[5, 10, 15, 20, -1], [5, 10 , 15, 20, "Alle"]]) 'in Ihrem Fall' $ scope.dtOptions = DTOptionsBuilder.newOptions(). WithDOM ('C <"clear"> lfretip'). WithOption ('aLengthMenu', [[5, 10, 15, 20, -1], [5, 10, 15, 20, "Alle"]]); '....' withOption() 'addiere einfach' this [key] = value' zum Optionsliteral. – davidkonrad

+0

Sie schaukeln Mann .... Es funktioniert gut. – vinothini

0

Ich habe jede mögliche Lösung versucht, um die Sortierung zu deaktivieren, aber das einzige, was für mich funktionierte, war: order: false. Use this for reference

Meine dtOptions waren wie unten

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