【问题标题】:How sort with specific column in Datatables?如何对数据表中的特定列进行排序?
【发布时间】:2013-12-03 21:58:03
【问题描述】:

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

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

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

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

因为我从Datatables 引用了 bSortable,它允许我们禁用 对特定列的排序,但在这种情况下,我们不知道表格会有多少列。

谢谢。

【问题讨论】:

  • 有一个选择所有列的选项。你可以像这样尝试 s.th:{ "aTargets": [ '_all' ], "bSortable": false }
  • @MarkusKösel:这将删除所有列的排序,我只想对 col1 和 col2 进行排序。

标签: html datatables jquery-datatables


【解决方案1】:

这个怎么样?

$('#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

【讨论】:

  • 不走运,我猜因为我们使用的是 { aTargets: [ '_all' ], bSortable: false } 它会禁用所有列的排序。
  • 嗯,我想,对于另外两行,第 1 列和第 2 列应该再次启用。 bSort 应该被启用。我在示例中不小心将其注释掉了
猜你喜欢
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
相关资源
最近更新 更多