Effizientes Sortieren innerhalb von Tabellen

Für umfangreichere, komplexere oder dynamische Informationen wird dieser Ansatz allerdings ziemlich schnell recht ressourcenintensiv und schwierig zu pflegen, so dass man sich nach Alternativen umschauen muss. In diesem Artikel sollen drei prinzipiell unterschiedliche Ansätze vorgestellt werden:

  • Clientseitig: Diese basieren vorrangig auf Funktionen, die auf der Seite des Clients bereitgestellt werden: Javascript, DHTML, DOM des Browsers etc.
  • Serverseitig: Diese basieren vorrangig auf Funktionen, die auf Serverseite bereitgestellt werden: ASP, ASP.NET, Datenbanken etc.
  • Kombinationen: Diese verbinden Funktionen von Server- und Clientseite, zum Beispiel könnte eine ASP-generierte XML-Datei auf Clientseite per JavaScript sortiert werden.

——————————————————————————–

Hinweise zum Demonstrationsbeispiel
Die Demonstrations-Dateien dieses Downloads sollten im selben Verzeichnis entpackt werden. Einige der Dateien erfordern einen ASP-Interpreter, ActiveX Controls oder andere serverseitige Websoftware.

——————————————————————————–

Clientseitig

Zuerst soll ein Blick auf clientseitige Möglichkeiten geworfen werden. Diese Beispiele erfordern, dass der Browser clientseitig Javascript aktiviert hat, was bei den meisten Browsern der Fall sein dürfte (siehe W3Schools Browser Survey). Einige der Beispiele nutzen auch Funktionen, die nur von bestimmten Browsern wie dem Internet Explorer oder Firefox unterstützt werden.

Javascript bringt von Hause aus eine Sortiermethode mit (SORT), welche eine Datenmenge sortieren kann. Wenn man die Daten als Array speichert, kann man sie mit einer Funktion, die der ähnlich ist, die in Demo 2 gezeigt wird, schnell sortieren. Wegen der einfachen Benutzung wird dafür ein Array von Objekten eingerichtet, wo jedes Objekt über zwei Eigenschaften verfügt: Vorname und Nachname (vergleiche Listing A).

Das Array personArray ist ein Array von Objekten und zunächst unsortiert. Nach Ausführen der Funktion buildIndex ist das Array alphabetisch nach Nachnamen sortiert (siehe Demo 2 im Download ).

Das eigentliche Sortieren erfolgt sehr schnell, aber was fängt man dann mit den sortierten Daten an? Sie müssen schließlich noch für die Anzeige aufbereitet werden, wofür es zwei einfache Methoden gibt:

Die erste besteht darin, im Query-String des Browsers einen Parameter zu übergeben, den die Javascript-Funktion beim Laden auswertet. Die Daten werden entsprechend sortiert. Dann muss man sie an der entsprechenden Stelle im Code nur noch ausdrucken (vergleiche Demo 3). Die zweite Option besteht darin, ein HTML-Element zu erstellen, welches per DHTML und Javascript mit den korrekt sortierten Daten gefüllt wird (vergleiche Demo 4).

Das erste Beispiel erfordert einen Post-Befehl zurück zum Server, um die aktuelle Seite erneut abzurufen und sie dann beim Laden zu sortieren. Das zweite Beispiel erledigt dies ohne Request an den Server und ist daher der bessere Ansatz. Diese Methode kommt vielfach zum Einsatz, zum Beispiel auf der Webseite Livelink Customisation Index.

Eine weitere Möglichkeit besteht darin, die Daten in einem anderen Format zu veröffentlichen (zum Beispiel Microsoft Excel), mit dem der Benutzer vertrauter ist und welches bessere Funktionen bietet, um die Daten zu sortieren. Ein Beispiel findet sich in Demo 5 (welches nur im Internet Explorer mit aktivierten Active X Controls funktioniert).

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Google schließt kritische Sicherheitslücke in Android 14

Weitere schwerwiegende Fehler stecken in Android 12 und 13. Insgesamt bringt der Mai-Patchday 29 Fixes.

1 Tag ago

IT Sicherheit: digitale Angriffe sicher abwehren

IT-Sicherheit - Erkennen und Abwehren von digitalen Angriffen

2 Tagen ago

Bestverkaufte Smartphones: Apple und Samsung dominieren

Das iPhone 15 Pro Max ist das meistverkaufte Smartphone im ersten Quartal. Das Galaxy S24…

2 Tagen ago

Google: Passkeys schützen mehr als 400 Millionen Google-Konten

Die Passwort-Alternative Passkeys überholt Einmalpasswörter bei der Zwei-Faktor-Authentifizierung. Auch Microsoft setzt sich aktiv für die…

2 Tagen ago

Infostealer: 53 Prozent der Angriffe treffen Unternehmensrechner

Der Anteil steigt seit 2020 um 34 Prozentpunkte. Allein 2023 erfasst Kaspersky rund 10 Millionen…

2 Tagen ago

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

3 Tagen ago