使用客户端数据源

时间:2016-11-22 16:01:38

标签: javascript jquery sorting datatables

所以问题是,如何对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
    ]
});`  

实施例: https://jsfiddle.net/36zxs9f6/2/

0 个答案:

没有答案