我使用Datatables打印HTML表格,在这里我遇到了类似的问题:
表是动态创建的(用while循环打印),因为我不知道它有多少列。之后我在
上应用了数据表$('#table').dataTable( {
"bDestroy":true,
"sScrollY": temp_fh,
"bPaginate": false,
"bScrollCollapse": true,
"bProcessing": true,
"bFilter":true,
"bSort":true,
});
那么现在如何仅对第二列应用排序?
由于我引用了来自Datatables的 bSortable ,这允许我们禁用对特定列进行排序,但在这种情况下我们不知道将列多少列有
感谢。
答案 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" ]
} ]