所以问题是,如何对datatable进行排序并忽略空单元格(或仅使用" - ")的单元格。更准确我希望空单元格位于底部(对于desc和asc)。这个问题已在这里得到解答Sorting (alphabetical order) to ignore empty cells : dataTables。但是这个解决方案并不适合我,因为我有Client-side data source并且新的排序需要永远。
更新:
通过添加此代码,如果单击第一个条目(ID),整个排序将花费太长时间。
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"non-empty-string-asc": function (str1, str2) {
if(str1 == "")
return 1;
if(str2 == "")
return -1;
return ((str1 < str2) ? -1 : ((str1 > str2) ? 1 : 0));
},
"non-empty-string-desc": function (str1, str2) {
if(str1 == "")
return 1;
if(str2 == "")
return -1;
return ((str1 < str2) ? 1 : ((str1 > str2) ? -1 : 0));
}
} );
var dataTable = $('#example').dataTable({
columnDefs: [
{type: 'non-empty-string', targets: 0} // define 'name' column as non-empty-string type
]
});`