如何重新初始化 jQuery DataTable 上的数据排序?

How to re-initialise data-sort on jQuery DataTables?

我在我的项目中使用 jQuery 数据表,并且我通过使用属性 data-sort 使列上的 "custom value" 排序可用,如下所述: https://datatables.net/examples/advanced_init/html5-data-attributes.html

工作正常。但是现在我用Javascript/jQuery来更新这些属性的值,而dataTable没有考虑新值,它仍然使用原始值进行排序。

更新直接在属性上完成:

$('td#myColumnId').attr('data-order', newValue);

如何强制我的 dataTable 重新初始化我的自定义排序值?

到目前为止,我已经尝试了 .draw().dataTable(),但不幸的是,这不起作用。

我期待一个可能的解决方案。

您需要 invalidate() 单元格。 dataTables 没有机会知道您以编程方式更改了列中一个或多个单元格的正交数据(=自定义排序值)。如果您有

这样的实例
var table = $('#example').DataTable();

并将 data-order 更改为

$('td#myColumnId').attr('data-order', newValue);

然后 invalidate 单元格/列

table.cells("#myColumnId").invalidate();