我有jquery数据表,其中第一列是rownumber,其他列是可排序的列。我想把这个行号作为“静态”,所以当排序表时,无论表如何排序,行号仍然会继续1,2,3,4。
现在当我按其他列排序时,行号随行变化,即。 3,1,2,4 ...
答案 0 :(得分:3)
看起来@flawlessdiamond找到了解决方案。我将发布解决方案,其中包含可能需要此答案的其他人的相关代码。
所以解决方案就是:
var t = $('#example').DataTable( {
"columnDefs": [ {
"searchable": false,
"orderable": false,
"targets": 0
} ],
"order": [[ 1, 'asc' ]]
} );
t.on( 'order.dt search.dt', function () {
t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
cell.innerHTML = i+1;
} );
} ).draw();
这也是一个有效的fiddle
答案 1 :(得分:0)
我有另一个解决方案。
我使用columndef属性。解决方案很简单,我采用当前的起始索引值加上当前行号加1.此解决方案不需要每次都重绘所有表。
columnDefs: [
{
"targets": 0,
"searchable": false,
"orderable": false,
"data": null,
"title": 'No.',
"render": function (data, type, full, meta) {
return meta.settings._iDisplayStart + meta.row + 1;
}
]