【问题标题】:Ngx-Datatable sorting by date column doesn't workNgx-Datatable 按日期列排序不起作用
【发布时间】:2018-10-05 15:07:08
【问题描述】:

我有下一个代码:

<ngx-datatable
 class="material"
 [rows]="rows" 
 [columnMode]="'force'" 
 [headerHeight]="50" 
 [footerHeight]="50" 
 [sorts]="[{prop: 'name', dir: 'desc'}]"
 [limit]="3">
 <ngx-datatable-column name="Name">
   <ng-template let-row="row" ngx-datatable-cell-template>
    {{row.name}}
    </ng-template>
  </ngx-datatable-column>
  <ngx-datatable-column name="Date">
    <ng-template let-row="row" ngx-datatable-cell-template>
       {{row.date}}
    </ng-template>
  </ngx-datatable-column>
</ngx-datatable>

我需要按日期格式(“dd/mm/yyyy”)和(“hh:mm:ss dd/mm/yyyy”)排序。我知道这个表只是按字符串格式排序,但是当我按日期排序时不能正常工作。

可以帮助我的好心人。也许我必须创建一个特定的排序或比较。我应该怎么做?

谢谢!

【问题讨论】:

    标签: angular sorting ngx-datatable


    【解决方案1】:

    ngx-tables可以按日期排序,但是需要指定这是日期,

    这是处理日期排序的一小段代码

    if (a instanceof Date && b instanceof Date) {
        if (a < b) return -1;
        if (a > b) return 1;
    }
    

    取自 ngx-datatable 存储库。

    您可以尝试将管道放在您的日期上,这样 Angular 就可以完成您的工作。

    <ng-template let-row="row" ngx-datatable-cell-template>
       {{row.date | date}}
    </ng-template>
    

    【讨论】:

    • Kraken 感谢您的回答,您的代码将进入 ngx-datatable 的比较器([comparate]="comparatorFunction"),我知道我必须手动比较和排序每一行,例如你的榜样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多