如何对Datatables中的特定列进行排序?

时间:2013-11-20 03:47:11

标签: html datatables jquery-datatables

我使用Datatables打印HTML表格,在这里我遇到了类似的问题:

表是动态创建的(用while循环打印),因为我不知道它有多少列。之后我在

上应用了数据表
$('#table').dataTable( {
            "bDestroy":true,        
            "sScrollY": temp_fh,             
            "bPaginate": false,
            "bScrollCollapse": true,
            "bProcessing": true,
            "bFilter":true,
            "bSort":true,
                  });

那么现在如何仅对第二列应用排序?

由于我引用了来自Datatables bSortable ,这允许我们禁用对特定列进行排序,但在这种情况下我们不知道将列多少列有

感谢。

1 个答案:

答案 0 :(得分:6)

怎么样?

$('#table').dataTable( {
        "bDestroy":true,        
        "sScrollY": temp_fh,             
        "bPaginate": false,
        "bScrollCollapse": true,
        "bProcessing": true,
        "bFilter":true,
        "bSort":true,
        aoColumnDefs: [
           { aTargets: [ '_all' ], bSortable: false },
           { aTargets: [ 0 ], bSortable: true },
           { aTargets: [ 1 ], bSortable: true }
        ]

更新

好的,重写_all似乎不可能。也许你可以在你的while循环中通过css禁用对列的排序:

<th class="no-sort">

并使用此初始化代码:

// Disable sorting on the no-sort class
"aoColumnDefs" : [ {
"bSortable" : false,
"aTargets" : [ "no-sort" ]
} ]

请参阅:disable a column sorting using jquery datatables