具有格式化日期的排序列的固定值
Fixed values on sorted column with formatted dates
我有一个 table 由
初始化
document.addEventListener("DOMContentLoaded", function(){
$.fn.dataTable.moment( 'DD MMM Y' );
})
问题是我的专栏有日期和文本(只有一种文本),即 'ongoing'。日期格式如下:2020 年 10 月 30 日,由于添加了 $.fn.dataTable.moment( 'DD MMM Y' );
行,我能够正确排序。但是,如果数据中只有一个 'ongoing' 实例,则排序会变得混乱并且不起作用。如何为订单添加例外?
我正在寻找类似
的东西
"order": [[ 2, "asc" ]], "exception": ["ongoing"]
(非常伪代码)。
更新
我已经了解了 absoluteOrder 插件并且已经实现了:
var deadlineType = $.fn.dataTable.absoluteOrder( [
{ value: 'ongoing', position: 'top' }
] );
"columnDefs": [ {
[...]
{ "targets": 2, type: deadlineType } ]
})
它几乎 有效。它把 'ongoing' 放在最上面。尽管如此,即使使用 absoluteOrderNumber,数据排序还是一团糟。是否有特定于日期的 absoluteOrder 行?
感谢 datatables forum 上的 kthorngren 我已经解决了这个问题。
这是工作代码:
{
"targets": 2,
"render": function (data, type, row) {
if ( type === 'sort' ) {
if (data === 'ongoing') {
return '01 Jan 0001';
}
return data;
}
return data;
}
}
我有一个 table 由
初始化document.addEventListener("DOMContentLoaded", function(){
$.fn.dataTable.moment( 'DD MMM Y' );
})
问题是我的专栏有日期和文本(只有一种文本),即 'ongoing'。日期格式如下:2020 年 10 月 30 日,由于添加了 $.fn.dataTable.moment( 'DD MMM Y' );
行,我能够正确排序。但是,如果数据中只有一个 'ongoing' 实例,则排序会变得混乱并且不起作用。如何为订单添加例外?
我正在寻找类似
的东西"order": [[ 2, "asc" ]], "exception": ["ongoing"]
(非常伪代码)。
更新
我已经了解了 absoluteOrder 插件并且已经实现了:
var deadlineType = $.fn.dataTable.absoluteOrder( [
{ value: 'ongoing', position: 'top' }
] );
"columnDefs": [ {
[...]
{ "targets": 2, type: deadlineType } ]
})
它几乎 有效。它把 'ongoing' 放在最上面。尽管如此,即使使用 absoluteOrderNumber,数据排序还是一团糟。是否有特定于日期的 absoluteOrder 行?
感谢 datatables forum 上的 kthorngren 我已经解决了这个问题。 这是工作代码:
{
"targets": 2,
"render": function (data, type, row) {
if ( type === 'sort' ) {
if (data === 'ongoing') {
return '01 Jan 0001';
}
return data;
}
return data;
}
}