2016-06-17 18 views
-1

Hey Jungs so habe ich das DatatablejQuery Datentabelle benutzerdefinierte Sortierung

var oTable = $("#products").dataTable({ 
    "aaData": [ 
     [1, "TEST1", "A"], 
     ['NA', "NA1", "B"], 
     ['NA', "NA2", "C"], 
     [4, "TEST2", "D"] 
    ], 
    "aoColumns": [{ 
     "sWidth": "70%", 
     "sClass": "center", 
     "bSortable": true, 
     "sType": "rankedNA" 

    }, { 
     "sWidth": "70%", 
     "sClass": "center", 
     "bSortable": false 
    }, { 
     "sWidth": "70%", 
     "sClass": "center", 
     "bSortable": false 
    }] 

}); 

Ich brauche eine benutzerdefinierte Sortierung

jQuery.fn.dataTableExt.oSort['rankedNA-asc'] = function(a, b) { 
     return rankedNASort(a, b); 
    }; 

die immer die ‚NA‘ verlassen Werte in der ersten Spalte am unteren Ende der Tabelle. Egal ob asc oder desc, sollte NA unten

Antwort

0

yeah ... Ich habe es irgendwie gelöst, nicht sicher, warum negative Antworten erhalten, wäre cool, um einen Kommentar zu bekommen, warum. Wie auch immer, wenn jemand es braucht, ist dies die Antwort.

jQuery.fn.dataTableExt.oSort["duration-desc"] = function (a, b) { 
    const z = naturalSort(a, b, 2) * -1; 
    return z; 
}; 

jQuery.fn.dataTableExt.oSort["duration-asc"] = function (a, b) { 
    return naturalSort(a, b, 1); 
} 
function naturalSort (a, b, c) { 
    if(a === 'NA') { 
     if(c == 2) { 
     return 0 
     } else { 
     return 10000; 
     } 
    } 
     const a2 = parseInt(a); 
     const b2 = parseInt(b); 
     return a2 - b2; 
    } 

Apologize im Voraus für die seltsame Einbuchtung ...

Verwandte Themen