角度数据表排序问题

问题描述 投票:0回答:1

我正在使用此示例https://l-lin.github.io/angular-datatables/archives/#!/bootstrapIntegration来配置我的数据表。问题是它不会对日期和double价格进行排序。

到目前为止,我尝试排序日期但失败了。我找到了很多答案,但没有人工作。

我的javascript

$scope.dtOptions = DTOptionsBuilder.newOptions()
  .withPaginationType('full_numbers')
  .withOption('order', [0, 'desc']);

$scope.dtColumnDefs = [
  { targets: 0, type: 'date' } 
];

我的HTML

<table datatable="" dt-options="dtOptions" dt-column-defs="dtColumnDefs" class="row-border hover"></table

我也尝试了类似的东西

$scope.dtColumnDefs = [
  DTColumnDefBuilder.newColumnDef(0).withOption('type', 'date'),
];

我确实尝试将date改为dd/MM/yy,但没有奏效。我在列中的日期显示为23/03/19

angularjs sorting datatables angular-datatables
1个回答
0
投票

DataTables的日期排序基于Date.parse(),因此任何不可解析的日期(或时间戳)都会破坏排序。

北欧表示法ala 23/03/19的日期解析为NaN,你有问题。您可以在render()回调中解析日期:

DTColumnDefBuilder.newColumnDef(0).renderWidth(function(data) {
  data = data.split('/')
  return Date.parse(data[1]+'-'+data[0]+'-'+data[2]).valueOf()
})

或者您可以使用自定义排序插件,如date-eu - > https://datatables.net/plug-ins/sorting/date-eu

© www.soinside.com 2019 - 2024. All rights reserved.