jquery datatables static rownumber

时间:2015-10-30 08:59:37

标签: jquery datatables

我有jquery数据表,其中第一列是rownumber,其他列是可排序的列。我想把这个行号作为“静态”,所以当排序表时,无论表如何排序,行号仍然会继续1,2,3,4。

现在当我按其他列排序时,行号随行变化,即。 3,1,2,4 ...

2 个答案:

答案 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; 
            }
]