我有一个使用智能表的分页表。我想首先使用状态和代码进行排序。我不能使用AngularJS中的orderBy,因为它会对每个页面的元素进行排序,而不是全部。并且只有一列的智能表订单的st-sort-default。
<table st-table="lista.displayedPublications" st-safe-src="lista.publications">
<thead>
<tr>
<th st-sort="publication.status" >STATO</th>
<th st-sort="publication.communicationCode">TREAT CD</th>
<th> ... </th>
</tr>
</thead>
<tbody>
<tr ng-repeat="publication in lista.displayedPublications">
<td>{{publication.status}}</td>
<td>{{publication.communicationCode}}</td>
<td>...</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>
<div st-template="ListaTreatement/pagination.html" st-pagination="" st-items-by-page="10"></div>
</td>
</tr>
</tfoot>
</table>
在控制器中:
public publications: PublicationExtended[];
public displayedPublications = [].concat(this.publications);
constructor(...){
new Api($http).getList(me.comunicationType, me.comunicationStatus).then(
function(response : angular.IHttpPromiseCallbackArg<PublicationExtended[]>) {
me.publications = response.data;
}
}
答案 0 :(得分:2)
在控制器中使用$filter("orderBy")($scope.lista.displayedPublications, ["+status", "+code"]);
对数据进行排序,然后再将其提供给您的表格。 +
和-
可用于设置降序或升序排序。