Ordnen der Datenanzeige mit ListView

Das in .NET 2.0 eingeführte Steuerelement GridView (siehe ZDNet-Einführung) stellte gegenüber dem Steuerelement DataGrid in .NET 1.x eine klare Verbesserung dar. Doch insbesondere beim Laden und Durchblättern der Daten gab es immer noch Mängel. Microsoft hat auf diese Defizite mit der Einführung des Steuerelements ListView in .NET 3.5 reagiert.

Einige notwendige Unterscheidungen

Vor den Informationen zur Nutzung des Steuerelements ListView sei zunächst auf einen wesentlichen Unterschied zwischen den Blätterfunktionen von ListView und GridView hingewiesen: GridView bietet integrierten Support für das Durchblättern von Daten. Diese Funktion ist in ListView nicht integriert. Die Blätterfunktion hat nun ein eigenes Steuerelement namens DataPager. Dazu gleich mehr.

Mit ListView die Datenwiedergabe kontrollieren

Die von ASP.NET Datensteuerelementen generierte Ausgabe ist häufig sehr ungeordnet. Wenn man den Code betrachtet, den die Steuerelemente GridView und DataList erzeugen, findet man eine Vielzahl von HTML-Tabellen-Markups.

ListView hat den Vorteil, dass die Ausgabe über Vorlagen (Templates) kontrollierbar ist. Diese Vorlagen ermöglichen die Steuerung aller relevanten Aspekte der Datenwiedergabe.

Verschiedene Vorlagen und ihre Funktionen

Vorlagen regeln die Beschaffenheit des von ListView generierten HTML-Code. Für ListView sind sie Voraussetzung, bei anderen Datensteuerelementen sind sie optional. Zahlreiche Vorlagen ermöglichen die vollständige Steuerung der von ListView generierten Ausgabe. Die nachfolgende Liste bietet einige Details zu den für ListView verfügbaren Vorlagen.

  • AlternatingItemTemplate definiert die Anzeige wechselnder Elemente.
  • EditItemTemplate legt die Darstellung eines bearbeiteten Elements fest.
  • EmptyDataTemplate bestimmt den Inhalt leerer Einzelelemente.
  • EmptyItemTemplate weist den Inhalt leerer Gruppenelemente aus.
  • GroupSeparatorTemplate bestimmt den Inhalt, der zwischen verschiedenen Gruppen angezeigt werden soll.
  • GroupTemplate determiniert den Inhalt von Gruppen. Diese Vorlage ist ein Platzhalter für die Daten, die für individuelle Gruppenelemente angezeigt werden (wenn Daten in Gruppen zusammengefasst sind).
  • InsertItemTemplate definiert die Darstellung eines neuen Elements, das in den Datensatz aufgenommen wird.
  • ItemSeparatorTemplate legt fest, welcher Inhalt zwischen unterschiedlichen Datenelementen angezeigt werden soll.
  • ItemTemplate bestimmt, welche Daten einzelner Elemente angezeigt werden sollen.
  • LayoutTemplate definiert die Hauptdarstellungsfunktionen des Steuerelements. Diese Root-Vorlage enthält Platzhalter, die durch die in ItemTemplate und GroupTemplate festgelegten Einstellungen ersetzt werden.
  • SelectedItemTemplate bestimmt den Inhalt von ausgewählten Elementen.

Die unterschiedlichen Vorlagenoptionen können auf verschiedene Arten genutzt werden. Ein Hauptfaktor für die Nutzung von Vorlagen ist das Festlegen der Anzeige von Daten in Abhängigkeit vom Steuerelement.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

12 Stunden ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

12 Stunden ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

21 Stunden ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

2 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

2 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

3 Tagen ago