Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Webserversteuerelemente für die Darstellung von Listen
  gp 9.1 Die abstrakte Basisklasse ListControl
  gp 9.2 Das ListItem-Objekt
  gp 9.3 CheckBoxList
    gp 9.3.1 Kontrollkästchen-Listen statisch erstellen
    gp 9.3.2 Kontrollkästchen-Listen dynamisch erstellen
    gp 9.3.3 Dynamische Datenbindung
  gp 9.4 RadioButtonList
  gp 9.5 DropDownList
  gp 9.6 ListBox
  gp 9.7 Repeater und DataList

Kapitel 9 Webserversteuerelemente für die Darstellung von Listen

Listensteuerelemente erleichtern die Darstellung von Listen. Je nach dem gewählten Steuerelement generiert ASP.NET den HTML-Code für Kontrollkästchen, für Optionsfelder, für ein Dropdown-Listenfeld oder für ein Listenfeld.

Wenn ein Anwender aus mehreren Einträgen eine oder mehrere Optionen auswählen soll, bieten sich verschiedene Steuerelemente zur Realisierung an. Wenn nur ein einziger Eintrag aus einigen wenigen Möglichkeiten ausgewählt werden soll, sind Optionsfelder (RadioButton) die richtige Wahl. Wenn mehrere Optionen aus einer überschaubaren Menge zur Wahl stehen, werden meistens Kontrollkästchen (CheckBox) verwendet. Wenn die Zahl der Einträge steigt, bieten Listenfelder und Dropdown-Listenfelder den größeren Komfort.

Für solche Fälle, in denen es darum geht, eine Liste von Einträgen darzustellen, bietet ASP.NET vier spezielle Listensteuerelemente an:

gp  CheckBoxList
gp  RadioButtonList
gp  DropDownList
gp  ListBox

Diese vier Klassen sind von der abstrakten Klasse System.Web.UI.WebControls.ListControl abgeleitet, die Basisfunktionen bereitstellt.

Die einzelnen Listeneinträge werden durch ListItem-Objekte repräsentiert.

Die grundlegende Vorgehensweise ist bei allen Listentypen ähnlich. Eines der vier genannten Listensteuerelemente fungiert als Eltern-Element, das zentrale Eigenschaften wie das Aussehen und das Verhalten bei bestimmten Ereignissen festlegt. Innerhalb dieses Elternelements werden die Einträge entweder statisch mit ListItem-Objekten definiert, oder das Elternelement legt die Datenquelle direkt fest. Bei einer statischen Definition ergibt sich in der aspx-Seite stets dieses Bild:

<asp:Listensteuerelement 
     Attribut ="Wert"
     Attribut ="Wert"
     ... >
     <asp:ListItem value="1" text="Erste Option" />
     <asp:ListItem value="2" text="Zweite Option" />
     ...
</asp:Listensteuerelement>

Je nach dem gewähltem Typ von Listensteuerelement erscheinen die Einträge im HTML-Code in Form von Optionsfeldern, als Kontrollkästchen, in Form eines Listenfelds oder als Dropdown-Listenfeld.


Galileo Computing

9.1 Die abstrakte Basisklasse ListControl  toptop

Die abstrakte Basisklasse System.Web.UI.WebControls.ListControl definiert die grundlegenden Merkmale, die alle Listensteuerelemente kennzeichnen. Dabei kümmert sich die ListControl-Klasse vorrangig um die Fragen,

gp  wo die Daten für das Steuerelement herkommen,
gp  welcher Eintrag/welche Einträge momentan selektiert ist/sind und
gp  was bei einer Selektion passieren soll.

Die Eigenschaft DataSource nennt eine Datenquelle. Hier kann ein Array oder eine Datenbanktabelle angegeben werden. Beim Datenbankzugriff sorgen die Eigenschaften DataMember, DataTextField und DataValueField für die genauere Zuordnung von Datenbankfeldern und den ListItem-Einträgen. Details hierzu finden Sie in Kapitel 12, ASP.NET und Datenbanken.

Mit der Eigenschaft Items haben Sie den zentralen Zugriff auf alle Einträge des Listenfelds. SelectedItem nennt den momentan selektierten Eintrag und SelectedIndex kennt dessen Indexwert. Bei mehreren selektierten Einträgen wird jeweils der Eintrag mit dem niedrigsten Indexwert berücksichtigt.

Wenn der Anwender eine Selektion vornimmt, wird das Ereignis SelectedIndexChanged ausgelöst. Wenn die Eigenschaft AutoPostBack gesetzt ist, wird das Formular automatisch zum Server zurückgesandt. Die erstmalige Initialisierung des Steuerelements, z. B. das Zusammenstellen der Einträge, kann gut über das Init-Ereignis erfolgen.


Eigenschaft Typ Beschreibung
AutoPostBack Boolean Bei True wird das Formular sofort zum Server versandt, wenn der Anwender die Auswahl ändert.
DataMember String Nennt die Tabelle aus DataSource, an die das Steuerelement gebunden wird
DataSource Object Nennt die Datenquelle. Hier kann z. B. ein Array oder eine Tabelle angegeben werden.
DataTextField String Nennt den Feldnamen für die Text-Eigenschaft der Listeneinträge
DataTextFormatString String Formatierungsstring zur Formatierung der Listeneinträge
DataValueField String Nennt den Feldnamen für die Value-Eigenschaft der Listeneinträge
Items ListItemCollection Collection der Listeneinträge
SelectedIndex Integer Bietet Zugriff auf den niedrigsten Indexwert der selektierten Einträge
SelectedItem ListItem Bietet Zugriff auf den selektierten Eintrag mit dem niedrigsten Indexwert
Ereignis SelectedIndexChanged EventHandler Tritt ein, wenn eine Auswahl geändert wird

Tabelle 9.1 Eigenschaften der Basisklasse ListControl

  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de