我需要在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;
}
} );
答案 0 :(得分:4)
使用aaSorting
选项按以下方式指定排序:http://datatables.net/ref#aaSorting。
$('.dt_table').dataTable( {
"aaSorting": [[0, 'desc']]
} );