我正在使用此示例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
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