如果我在DataTables中使用自定义排序功能,我如何更改排序顺序(从默认ASC到DESC)?

时间:2012-12-28 21:28:20

标签: jquery-datatables

我需要在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;
    }
} );

1 个答案:

答案 0 :(得分:4)

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

$('.dt_table').dataTable( {
    "aaSorting": [[0, 'desc']]
} );