我正在使用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)按字母顺序排序,工作正常。
答案 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>