繁体   English   中英

禁用列排序或在数据表中添加行号

[英]Disable Column Sorting Or Add Row Numbers Inside Datatable

这里的问题

我在数据库中有一段数据。 数据由以下几列组成

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

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

row_num    name      age
3          Robert    22

虽然应该是

row_num    name      age
1          Robert    22

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

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

关闭。 只需添加这一行

 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM