如何简单地按数据表的最后一列进行排序

Fan*_*ang 5 sorting datatable jquery

我对dataTable真的很陌生,我只需要一个简单的解决方案:

var initBasicTable = function() {

    var table = $('#basicTable');

    var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [[0,'desc']]
    };

    table.dataTable(settings);
    $('#basicTable input[type=checkbox]').click(function() {
        if ($(this).is(':checked')) {
            $(this).closest('tr').addClass('selected');
        } else {
            $(this).closest('tr').removeClass('selected');
        }

    });

}
Run Code Online (Sandbox Code Playgroud)

这是有效的,默认情况下对第一列进行排序.

但我读到将0in 更改"order": [[0,'desc']]为负数将从右侧的列开始排序.不过这个:

var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [[-1,'desc']]
};
Run Code Online (Sandbox Code Playgroud)

抛出错误,我不知道从哪里继续.

我知道dataTable非常强大,但是, 这不是我想要的,但已经很多了

'按上一个(-1)列排序'没什么?我感到迷茫.任何人?

Fan*_*ang 9

事实证明并没有那么难,有一点工作:

var table = $('#basicTable');
    var index = $(table).find('th:last').index();
    var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [
            [index, "desc"]
        ]
    };
Run Code Online (Sandbox Code Playgroud)

这将获得最后一个'列'的索引并首先对其进行排序.谢谢你的帮助.


muz*_*far 5

您可以像这样初始化表以按最后一列对其进行排序

$('.table').DataTable().columns(-1).order('desc').draw();
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请检查


Luc*_*uca 1

只需使用 dataTables 中的重新绘制函数即可:

table.order([0, 'desc']).draw();
Run Code Online (Sandbox Code Playgroud)

并且不要对列索引使用负值。只使用积极的一面。在api中,没有提及可排序列的负列索引。

如果您现在无法关注我,请阅读:“ https://datatables.net/reference/api/order%28%29