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

Gan*_*esh 1 html datatables jquery-datatables

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

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

$('#table').dataTable( {
            "bDestroy":true,        
            "sScrollY": temp_fh,             
            "bPaginate": false,
            "bScrollCollapse": true,
            "bProcessing": true,
            "bFilter":true,
            "bSort":true,
                  });
Run Code Online (Sandbox Code Playgroud)

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

因为我引用来自Datatables的bSortable,它允许我们禁用特定列的排序,但在这种情况下,我们不知道表中有多少列.

谢谢.

Mar*_*sel 7

这个怎么样?

$('#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 }
        ]
Run Code Online (Sandbox Code Playgroud)

更新

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

<th class="no-sort">
Run Code Online (Sandbox Code Playgroud)

并使用此初始化代码:

// Disable sorting on the no-sort class
"aoColumnDefs" : [ {
"bSortable" : false,
"aTargets" : [ "no-sort" ]
} ]
Run Code Online (Sandbox Code Playgroud)

请参阅:使用jquery数据表禁用列排序