【问题标题】:Disable Column Sorting Or Add Row Numbers Inside Datatable禁用列排序或在数据表中添加行号
【发布时间】:2021-01-08 01:20:14
【问题描述】:

问题来了

我在数据库中有一条数据。数据由如下几列组成

row_num   name       age
1         John       21
2         Michelle   20
3         Robert     22

然后我使用数据表显示数据。我使用 orderable = false 禁用 row_num 列的排序。

这里是我使用的数据表的代码

$('#data').DataTable({
  serverside: true,
  ajax: 'data.php',
  columns: [
    { data: 'row_num', orderable: false},
    { data: 'name' },
    { data: 'age' }
)}

row_num 列无法排序,但确实如此。但是当我对 name 列或 age 列进行排序时,row_num 列也会被排序。我不想那样。

年龄列排序示例

row_num    name      age
2          Michelle  20
1          John      21
3          Robert    22

我想要什么

row_num    name      age
1          Michelle  20
2          John      21
3          Robert    22

这在执行数据搜索时也有影响,例如搜索罗伯特的数据

row_num    name      age
3          Robert    22

应该是这样的

row_num    name      age
1          Robert    22

我知道这是因为 row_num 中的数据是从数据库中获取的。我只想标记数据表中的行号。

是否有解决方案使 row_num 列不排序,或者是否有解决方案可以在数据表中提供每行的数字?

【问题讨论】:

    标签: javascript html datatable


    【解决方案1】:

    关闭。 只需添加这一行

     detail_table.on( 'order.dt search.dt', function () {
       detail_table.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
           cell.innerHTML = i+1;
       } );
     } ).draw();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-01
      • 2019-03-07
      • 2020-08-22
      • 1970-01-01
      • 2021-12-17
      • 2021-10-21
      • 1970-01-01
      • 2013-05-26
      相关资源
      最近更新 更多