当前版本的 DataTables (1.10) 提供了以下方式来切换此默认排序顺序,使用 columnDefs 下的属性 orderSequence(或 columns,但不太灵活)。
这是orderSequence 上的文档。
"columnDefs": [
{ "orderSequence": [ "desc", "asc"], "targets": [ 1 ] },
]
正如它还提到的,您可以强制列仅在单击为 DESC 或 ASC 时进行排序,您的界面可能会从中受益。
在我的情况下,我需要在初始单击时将列降序排列以获得不确定的列数,因此我决定将示例切换为以列标题的 class 名称为目标,而不是将每一列明确定义为 "targets":[1],"targets":[2],...[n]或以编程方式构建我关心的列的索引数组。
您可以通过多种方式定位列according to here。
最终结果是这样的表定义:
<table><thead><tr>
<th class='descendFirst'>DESCend when first clicked</th>
<th>a normally sorted ASC->DESC->... column</th>
...
</tr></thead></table>
和数据表这样授权:
$("#table").dataTable({
"columnDefs": [
{"orderSequence": ["desc","asc"], "targets":"descendFirst" },
]
});
瞧!首先单击所有列的降序排序,<th> 标记有“descendFirst”类(任意选择的描述性类名称)。