Jquery datatables-使用datetime和string对列进行自定义排序
我正在使用jquery数据表,我有一个列包含这些值的组合。日期、字符串“A”和另一个字符串“B”。当我点击该列时,我希望该列先显示“A”,然后按日期排序,然后再显示“B”。是否有办法实现此功能?如果使用客户端,请检测DataTables排序侦听器,然后连接您自己的调用 使用服务器端数据库实现这一点要容易得多,因为您可以始终在select语句中包含一个静态ORDERBY子句作为辅助排序选项Jquery datatables-使用datetime和string对列进行自定义排序,jquery,jquery-datatables,Jquery,Jquery Datatables,我正在使用jquery数据表,我有一个列包含这些值的组合。日期、字符串“A”和另一个字符串“B”。当我点击该列时,我希望该列先显示“A”,然后按日期排序,然后再显示“B”。是否有办法实现此功能?如果使用客户端,请检测DataTables排序侦听器,然后连接您自己的调用 使用服务器端数据库实现这一点要容易得多,因为您可以始终在select语句中包含一个静态ORDERBY子句作为辅助排序选项 如果需要其他帮助,请发布更多代码如果使用客户端,请检测DataTables排序侦听器,然后附加您自己的调用
如果需要其他帮助,请发布更多代码如果使用客户端,请检测DataTables排序侦听器,然后附加您自己的调用 使用服务器端数据库实现这一点要容易得多,因为您可以始终在select语句中包含一个静态ORDERBY子句作为辅助排序选项
如果需要其他帮助,请发布更多代码。客户端:
$.extend($.fn.DataTable.ext.oSort, {
/*
*
*custom_date sorting
*/
"custom_date": function (a) {
return a;
},
"custom_date-asc": function (x, y) {
var x = getCustomEuroDateValue(x);
var y = getCustomEuroDateValue(y);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
},
"custom_date-desc": function (x, y) {
var x = getCustomEuroDateValue(x);
var y = getCustomEuroDateValue(y);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
},
});
function getCustomEuroDateValue(strDate) {
// return a string by spiting and merging the date as you need
// B A 02/11/2013 to A20131102B
//
// Example :
// var frDatea = $.trim(strDate);
// var frDatea1 = frDatea.split(' ');
// var frDatea2 = frDatea1[2].split('/');
// var x = (frDatea1[1] + frDatea2[2] + frDatea2[1]+ frDatea2[0] + frDatea1[0]);
// return x;
}
客户端:
$.extend($.fn.DataTable.ext.oSort, {
/*
*
*custom_date sorting
*/
"custom_date": function (a) {
return a;
},
"custom_date-asc": function (x, y) {
var x = getCustomEuroDateValue(x);
var y = getCustomEuroDateValue(y);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
},
"custom_date-desc": function (x, y) {
var x = getCustomEuroDateValue(x);
var y = getCustomEuroDateValue(y);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
},
});
function getCustomEuroDateValue(strDate) {
// return a string by spiting and merging the date as you need
// B A 02/11/2013 to A20131102B
//
// Example :
// var frDatea = $.trim(strDate);
// var frDatea1 = frDatea.split(' ');
// var frDatea2 = frDatea1[2].split('/');
// var x = (frDatea1[1] + frDatea2[2] + frDatea2[1]+ frDatea2[0] + frDatea1[0]);
// return x;
}