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

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

1 Tag ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

1 Tag ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

1 Tag ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

2 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago