我有一个问题。我无法使用Angular.js dir-paginate
按字母顺序对表格数据进行排序。这里我需要对所有页面中的数据进行排序,但最近条件是当前页面的排序数据。我是在下面解释我的代码。
<tbody id="detailsstockid">
<tr dir-paginate="cus in ($parent.labelResults=(listOfCustomerData | filter:searchProduct.rest_name)) | itemsPerPage:5 | orderBy:'rest_name' track by $index" current-page="currentPage">
<td>{{itemsPerPage *(currentPage-1)+$index+1}}</td>
<td>{{cus.rest_name}}</td>
<td>{{cus.quadrant_name}}</td>
<td>{{cus.city}}</td>
<td>{{cus.proviance}}</td>
<td>{{cus.person}}</td>
<td>{{cus.mobile}}</td>
<td>{{cus.url}}</td>
<td ng-if="cus.status==1">Active</td>
<td ng-if="cus.status==0">Inactive</td>
<td ng-if="cus.premium==1">Yes</td>
<td ng-if="cus.premium==0">No</td>
<td >
<a ui-sref="dashboard.customer.view">
<input type='button' class='btn btn-xs btn-green' value='Edit' ng-click="editProductViewData(cus.member_id);">
</a>
</td>
<td>
<a ui-sref="dashboard.customer.view">
<input type='button' class='btn btn-xs btn-red' value='Delete' ng-click="deleteProductInfoData(cus.member_id);" >
</a>
</td>
</tr>
</tbody>
在这种情况下,我只能对当前页面数据进行排序,但我需要对整个数组(i.e-listOfCustomerData
)中的数据进行排序。我在下面附加我的输出。
在上面的图片中,餐馆名称从c开始,这是第1页图片。
对于第2页,餐馆名称从上面给出的b开始。我需要所有的餐厅按字母顺序排序,但不按页面排序。请帮助我。
答案 0 :(得分:2)
链接过滤器的顺序非常重要。目前,您在排序前进行了分页:
<tr dir-paginate="... | itemsPerPage:5 | orderBy:'rest_name' ...">
...因此,排序仅影响通过分页过滤器的未排序列表部分。
在这种情况下,您只需要交换该订单,然后在分页前进行排序。现在整个列表将首先排序,然后分成不同的页面。
... | orderBy:'rest_name' | itemsPerPage:5 ...
答案 1 :(得分:0)