AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [JavaScript]: Eine HTML-Tabelle mit QuickSort sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

[JavaScript]: Eine HTML-Tabelle mit QuickSort sortieren

Ein Thema von yankee · begonnen am 9. Jul 2005 · letzter Beitrag vom 10. Jul 2005
Antwort Antwort
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

[JavaScript]: Eine HTML-Tabelle mit QuickSort sortieren

  Alt 9. Jul 2005, 01:15
So, ich habe lange dran geknobelt und jetzt stelle ich euch den algo vor, der eine stinknormale statische HTML-Tabelle sortiert. Ich habe im Internet SEITENLANGE qts gefunden, die angebliche das gleiche tun... Naja, für alle, die mal vor dem gleichen Problem stehen:
Code:
function sortnumtable(tblid,spalte,lo,hi)
{
  var temp ="";
  var i=lo;
  var j=hi;
  with(document.getElementById(tblid))
  {
    if (hi ==-1) hi =rows.length-1;
    var x=parseFloat(rows[Math.floor((hi+lo)/2)+1].cells[spalte].innerHTML);
    while(i<=j)
    {
      while(parseFloat(rows[i].cells[spalte].innerHTML)<x) i++;
      while(parseFloat(rows[j].cells[spalte].innerHTML)>x) j--;
      if (i<=j)
      {
        for(var z=0; z<rows[1].cells.length; z++)
        {
          temp =rows[i].cells[z].innerHTML;
          rows[i].cells[z].innerHTML =rows[j].cells[z].innerHTML;
          rows[j].cells[z].innerHTML =temp;
        }
        i++; j--;
      }
    }
    if (lo<j) sortnumtable(tblid,spalte,lo,j);
    if (i<hi) sortnumtable(tblid,spalte,i,hi);
  }
}
Ein Beispiel:
Code:
<table id="mytable">
  <tr>
    <td>Artikel</td>
    <td>Preis in Euro/kg</td>
  </tr>
  <tr>
    <td>Kartoffeln</td>
    <td>1.50</td>
  </tr>
  <tr>
    <td>Birnen</td>
    <td>1.1</td>
  </tr>
</table>
[url="javascript:void(sortnumtable('mytable',1,1,-1));"]Sortieren[/url]
Die Tabelle kann so natürlich um ein westenliches vergrößert werden. Eine 170*8 größe Tabelle wird bei mir in ca. 0,5 Sekunden sortiert...
Zum Aufruf: sortnumtable('mytable',1,1,-1)
mytable ist einfach nur die id der table
1 (die erste) ist die Spalte, nach der sortiert werden soll. Also hier ist das die Preisspalte.
1 (die zweite) ist die untere Begrentzung, von dem zu sortierenden Feld. Das ist ein array, der mit 0 beginnt. Aber die Überschriften wollen wir mal nicht mitsortieren
-1 (letzter parameter). Dies gibt die obere Begrentzung an. Wenn der Wert -1 ist, nimmt der algo einfach die komplette Tabelle.

So, das ist zwar eigenlich ein Delphiforum, aber ihr seit einfach die größten. Ich war schon in mehreren Webdesignforen und ihr seid auch auf diesem Gebiet einfach die Besten und daher halte ich es für angebracht, webdesignsachen hier zu posten
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
10. Jul 2005, 15:55
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Programmieren allgemein" verschoben.
Die CodeLibrary ist nur für Delphi-Sourcen.
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz