2017-06-13 34 views
0

我正在使用angularjs數據表,我不需要對所有列進行排序。所以我想禁用指定列的排序。我想禁用排序列號。 2和4爲下面的情況。但我收到DTColumnDefBuilder is not defined錯誤。在angularjs數據表中禁用排序不工作

var app = angular.module('myApp',['datatables']); 
 
app.controller('MyCtrl', function($scope,DTOptionsBuilder,DTColumnBuilder) { 
 

 
    $scope.list = [ 
 
     {"eid":"10","ename":"nam1","sales":"20"}, 
 
     {"eid":"20","ename":"nam2","sales":"20"}, 
 
     {"eid":"30","ename":"nam3","sales":"20"}, 
 
     {"eid":"40","ename":"nam4","sales":"20"} 
 
    ]; 
 
    $scope.vm = {}; 
 

 
$scope.vm.dtOptions = DTOptionsBuilder.newOptions() 
 
     .withOption('order', [0, 'asc']); 
 
$scope.vm.dtColumnDefs = [ 
 
    DTColumnDefBuilder.newColumnDef(1).notSortable(), 
 
    DTColumnDefBuilder.newColumnDef(3).notSortable() 
 
]; 
 

 
});
<html> 
 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> 
 
    <script src="http://phpflow.com/demo/angular_datatable_demo/angular-datatables.min.js"></script> 
 
    <script src="http://phpflow.com/demo/angular_datatable_demo/jquery.dataTables.min.js"></script> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
 
    <link rel="stylesheet" href="http://phpflow.com/demo/angular_datatable_demo/datatables.bootstrap.css"> 
 
</head> 
 
<div class="container"> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
<table class="table table-striped table-bordered" dt-options="vm.dtOptions" dt-column-defs="vm.dtColumnDefs" datatable="ng"> 
 
    <thead> 
 
     <tr> 
 
\t <th>Employee ID</th> 
 
\t <th>name</th> 
 
\t <th>sales</th> 
 
\t <th>details</th> 
 

 
</thead> 
 
    <tbody> 
 
    
 
    <tr ng-repeat="data in list"> 
 
     <td> {{ data.eid }} </td> 
 
     <td> {{ data.ename }} </td> 
 
     <td> {{ data.sales }} </td> 
 
     <td>view</td> 
 
</tr> 
 
</tbody> 
 
</table> 
 
</div>

回答

1

你忘了注入DTColumnDefBuilder到控制器定義功能構造。

var app = angular.module('myApp',['datatables']); 
app.controller('MyCtrl', function($scope,DTOptionsBuilder,DTColumnBuilder,DTColumnDefBuilder) { 

    ... 
+0

非常好的工作,非常感謝你! – query

+0

你能提供一個更多的幫助嗎?我正在一個表中有動態列,除了第一個和最後兩個column.how在這種情況下指定列號? – query