Hi Leute,
ich hab da mal ein Problemchen :)
Und zwar hab ich eine Tabelle, dessen Spalten man wunderbar sortieren kann.
Nur sortiert er die Spalte Datum wie einen String. Also ohne die Syntax TT.MM.JJJJ zu berücksichtigen.
Jetzt wollte ich wissen, wo ich welche Funktion benutzen muss??
Wäre froh wenn mir jemand da weiter helfen könnte.
Danke im voraus :)
/******************************************************************************/
/**** Sortieren von Tabellen-Zellen ****************/
var sorted = "";
function sortTable(TableObj, ColNr, dec){
while(TableObj.tagName != "TBODY" && TableObj.tagName != "TABLE"){
TableObj = TableObj.parentNode;
}
// �berpr�fen ob schon Sortiert wurde.
if(sorted == ColNr + "" + dec + "" + (TableObj.innerText != undefined ? TableObj.innerText : TableObj.textContent)) {
return true;
}
if(document.getElementById("SortiertesTBODY")) {
TableObj.removeChild(document.getElementById("SortiertesTBODY"));
}
var TableArray = new Array();
var TRs = TableObj.getElementsByTagName("tr");
var TD;
// Den Sortierschl�ssel in ein Array schreiben
for (var i = 0; i < TRs.length; i++){
if(TRs[i].getElementsByTagName("td") && TRs[i].className != "TagNoSortAble"){
TD = TRs[i].getElementsByTagName("td")[ColNr-1];
var tmpString = TD.innerText != undefined ? TD.innerText.toLowerCase() : TD.textContent.toLowerCase();
if(tmpString.slice(0,1) == "�"){
tmpString = "a" + tmpString.slice(1);
} else if(tmpString.slice(0,1) == "�"){
tmpString = "u" + tmpString.slice(1);
} else if(tmpString.slice(0,1) == "�"){
tmpString = "o" + tmpString.slice(1);
}
TableArray[TableArray.length] = tmpString + "@@@" + i;
}
}
// Array Sortieren
TableArray.sort();
// Wenn gew�nscht, dann andersherum sortieren
if(!dec){
TableArray.reverse();
}
if(HTMLName == "I\_Glossar.htm") {
GlossarSorting(TableObj, TRs, TableArray);
doTabColored();
} else {
if(TableObj.tagName != "TBODY")
TableObj = TableObj.getElementsByTagName("tbody")[0];
// Hinzuf�gen der Sortierten Zeilen
for (i = 0; i < TableArray.length; i++){
var t = parseInt(TableArray[i].split("@@@")[1]);
var CloneNode = TRs[t].cloneNode(true);
TableObj.insertBefore(CloneNode, TRs[TRs.length-1].nextSibling);
}
// L�schen der Inhalte der Sortierten Zeilen
for (i = 0; i < TableArray.length; i++){
var t = parseInt(TableArray[i].split("@@@")[1]);
var tNode = document.createElement("tr");
tNode.className = "deleteNow";
TableObj.replaceChild(tNode, TRs[t]);
}
TRs = TableObj.getElementsByTagName("tr");
// L�schen der Zeilen
for (i = TRs.length - 1; i > 0; i--){
if(TRs[i].className == "deleteNow"){
TableObj.removeChild(TRs[i]);
}
}
var trueI = 2;
// Spalten wieder markieren.
for (var i=1; i < TRs.length ; i++){
if(TRs[i].style.display == "" || HTMLName != "Vorlagen.htm"){
if(trueI%2 == 1){
TRs[i].style.backgroundColor = "#E5EAF1";
trueI = 0;
} else {
TRs[i].style.background = "#FFFFFF";
trueI = 1;
}
}
}
}
sorted = ColNr + "" + dec + "" + (TableObj.innerText != undefined ? TableObj.innerText : TableObj.textContent) ;
}