如何在角度智能表上设置默认排序顺序?

时间:2015-11-27 14:27:06

标签: javascript angularjs sorting smart-table

我有一个Angularjs智能表,它为每列设置了排序定义,即哪个方向。

我想要确保的是,每次加载页面时,都会保留原始排序方向,理想情况下是使用变量进行控制。我注意到一些分页代码,当你选择第2页时,我正在这样做,排序顺序有时会改变,所以你得到的第二页与第1页无关。

如何保持对正在排序的列和方向的控制并维持该状态?

<table st-table="displayedCollection" st-pipe="getModelRuns" st-sort="EXECUTIONPOOL" st-sort-default="reverse" st-safe-src="rowCollection" class="table table-condensed" ng-show="displayedCollection.length > 0">
  <thead>
    <tr>
      <th st-sort="NAME" st-skip-natural="true"><i ng-class="getSortIcon('JobName')"></i> <a data-ng-href="#" style="white-space: nowrap">Job Name</a></th>
      <th st-sort="CLOUDJOBNAME" st-skip-natural="true"><i ng-class="getSortIcon('CloudJobName')"></i> <a data-ng-href="#" style="white-space: nowrap">Cloud Job Name</a></th>
      <th st-sort="MODELVERSION" st-skip-natural="true"><i ng-class="getSortIcon('ModelVersion')"></i> <a href="#">Model Version</a></th>
      <th st-sort="RUNSTATUS" st-skip-natural="true"><i ng-class="getSortIcon('Status')"></i> <a href="#">Status</a></th>
      <th st-sort="REQUESTEDAT" st-skip-natural="true" st-sort-default="reverse"><i ng-class="getSortIcon('Requested')"></i> <a href="#">Requested At</a></th>
      <th st-sort="STARTEDAT" st-skip-natural="true" st-sort-default="reverse"><i ng-class="getSortIcon('Started')"></i> <a href="#">Started At</a></th>
      <th st-sort="FINISHEDAT" st-skip-natural="true" st-sort-default="reverse"><i ng-class="getSortIcon('Finished')"></i> <a href="#">Finished At</a></th>
      <th st-sort="REQUESTEDBY" st-skip-natural="true"><i ng-class="getSortIcon('RequestedBy')"></i> <a href="#">Requested By</a></th>
      <th st-sort="EXECUTIONPOOL" st-skip-natural="true"><i ng-class="getSortIcon('ExecutionPool')"></i> <a href="#">Executed on Pool</a></th>
      <th />
    </tr>
  </thead>
</table>

1 个答案:

答案 0 :(得分:5)

我认为您在表格中要求默认升序,您可以设置为

 st-sort-default="true"

但你已设置反向,所以它可能以相反的顺序为你。