2017-02-24 89 views
0

我创建的表排序列角“数据表”

<table class="table table-striped table-bordered table-hover" width="100%" datatable="ng" dt-options="options"> 
<thead> 
<tr> 
    <th> Nannie ID</th> 
    <th> Name</th> 
    <th> Last name</th> 
    <th> Email</th> 
</tr> 
</thead> 
<tbody> 
<tr class="" ng-repeat='item in items'> 
    <td><a ui-sref="admin.nanniesEdit({id:item.id})">id{{item.id}}</a></td> 
    <td>{{item.profile.name}}</td> 
    <td>{{item.lastname}}</td> 
    <td>{{item.profile.email}}</td> 
</tr> 
</tbody> 

表载有第一列的顺序:

NannieID 
id1 
id10  
id12  
id13  
id2 
id3 
id5 

我要得到正确的顺序为每次点击重新排序,当第一次加载。 预期结果:

NannieID 
id1 
id2 
id3 
id5 
id10  
id12  
id13  

我加入这个代码,但它仅在表中加载的帮助下,点击重新排序列后,我得到了错误的顺序

$scope.options = DTOptionsBuilder.newOptions().withOption('aaSorting', [[5, 'asc']]) 

请帮我

回答

1

变化切换aaSortingorder。您的代码将如下所示:

$scope.options = DTOptionsBuilder.newOptions().withOption('order', [[5, 'asc']]) 
0

您可以使用javascript函数重新排序对象数组sort

$scope.asc = false; 
$scope.reorder = function(direction){ 
    items.sort(function(a, b) { 
     return a.id - b.id; 
    }); 
    if(asc){ 
     items.reverse(); 
     asc = false; 
    } 
} 

并添加与ng-click按钮调用reorder

<button ng-click="$scope.reorder()">Reorder</button> 

每次按Reorder按钮时,您的列表将会从Asc OrderDesc Order