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 に答える