按日期列排序足部行(gg / mm / aaaa)

时间:2017-06-08 13:11:27

标签: javascript angularjs sorting footable columnsorting

我正在使用footable library来显示表格。每行都有一个Date列,我想按Date列对此表进行排序(在列标题上单击)。

<table class="footable table table-stripped toggle-arrow-tiny">
<thead>
  <tr>
    <th data-type="date-eu">Data Scadenza</th>
    <th>Titolo</th>
    <th>Inviato da</th>
    <th>Link</th>
  </tr>
</thead>
<tbody>
  <tr ng-repeat="promemoria in elencoPromemoria">
    <td>{{promemoria.DataScadenza | date:"dd/MM/yyyy"}}</td>
    <td>{{promemoria.Titolo}}</td>
    <td>{{promemoria.InviatoDa}}</td>
    <td><a ng-show="promemoria.Link" ng-attr-ui-sref="{{promemoria.Link || false}}"><i class="fa fa-search-plus"></i></a></td>
  </tr>
</tbody>

变量promemoria.DataScadenza包含yyyy-mm-dd格式的日期,所以:

  • 如果我使用{{promemoria.DataScadenza | date:"dd/MM/yyyy"}}我可以看到正确的欧元区(dd / mm / yyyy)风格的日期,但我无法正确排序。
  • 如果我使用{{promemoria.DataScadenza}}我可以正确排序,但我会看到美国区域(yyyy-mm-dd)样式的日期。

PS:其他两列(Titolo,InviatoDa)按字母顺序排序,工作正常。

1 个答案:

答案 0 :(得分:1)

您可以在表格标题中使用data-format-string属性来定义数据的自定义格式。

以下是您重新定义的代码版本

<table class="footable table table-stripped toggle-arrow-tiny">
<thead>
  <tr>
    <th data-type="date" data-format-string="dd/MM/yyyy">Data Scadenza</th>
    <th>Titolo</th>
    <th>Inviato da</th>
    <th>Link</th>
  </tr>
</thead>
<tbody>
  <tr ng-repeat="promemoria in elencoPromemoria">
    <td>{{promemoria.DataScadenza | date:"dd/MM/yyyy"}}</td>
    <td>{{promemoria.Titolo}}</td>
    <td>{{promemoria.InviatoDa}}</td>
    <td><a ng-show="promemoria.Link" ng-attr-ui-sref="{{promemoria.Link || false}}"><i class="fa fa-search-plus"></i></a></td>
  </tr>
</tbody>