0

我需要在 DataTables 网格中按日期 (dd.mm.YYYY H:i:s) 执行排序。

我已经找到了 DataTables 排序插件,它运行良好 - 但我无法理解如何将默认排序顺序更改为降序排序插件结果。

我使用以下代码初始化数据表:

    $('.dt_table').dataTable( {
        "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
        "sPaginationType": "bootstrap",
        "aoColumns": [
                { "sType": "date-euro" },
         null,
         null,
         null,
         null,
         null,
         null
     ],
        "iDisplayLength": 25,
        "oLanguage": {
        "sUrl": "/js/dt_ru.txt"
        },
        "fnDrawCallback": function() {
                $(".editable").editable();
        }
} );

排序插件的代码在这里:

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "date-euro-pre": function ( a ) {
        if ($.trim(a) != '') {
            var frDatea = $.trim(a).split(' ');
            var frTimea = frDatea[1].split(':');
            var frDatea2 = frDatea[0].split('.');
            var x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + frTimea[2]) * 1;
        } else {
            var x = 10000000000000; // = l'an 1000 ...
        }

        return x;
    },

    "date-euro-asc": function ( a, b ) {
        return a - b;
    },

    "date-euro-desc": function ( a, b ) {
        return b - a;
    }
} );
4

1 回答 1

4

使用aaSorting选项指定排序方式:http ://datatables.net/ref#aaSorting 。

$('.dt_table').dataTable( {
    "aaSorting": [[0, 'desc']]
} );
于 2013-01-25T12:28:52.263 回答