具有格式化日期的排序列的固定值

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;
      }
    }