Ralf: Sortierung von Tabellenspalten

Beitrag lesen

Hallo, ... wollte bei dem Beispiel (auch vielen Dank dafür) unter: http://aktuell.de.selfhtml.org/artikel/dhtml/tabellen-sortieren/index.htm auf einen Fehler aufmerksam machen. Dieser tritt dann auf, wenn in der Sortierspalte mindestens zwei gleiche Werte auftreten (die Beispieldaten enthalten diesen Fall nicht, kann man aber leicht nachstellen). Wenn man in der Funktion "Sortiere_nach_Spalte" die erste doppelt geschachtelte FOR-Schleife (for(i = 0; i < Zeilen; ++i) for(var j = 0; j < Zeilen; ++j) ...) durch den folgenden Schleifenblock ersetzt funktioniert es:

var j = 0;
  for(i = 0; i < Zeilen; ++i)
  {
    j = 0;
    while ( j < Zeilen )
    {
      if(Spaltendaten[i] == Vergleichsdaten[j])
      {
        if (ZeileGefunden[j] != "yes")
        {
          SortierIndex[i] = j;
          ZeileGefunden[j] = "yes";
          j = Zeilen; /* erzwingt das Continue in der aeusseren Schleife */
        }
      }
      j = j + 1;
    }
  }

Voraussetzung ist das Definieren des Arrays "ZeileGefunden" und das Initialiiseren desselben mit den Werten "no".