DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
ASP .NET Listbox trifft Daten

Einer der größeren Vorteile der ASP .NET Web Server Controls ist die Möglichkeit diese an Daten zu binden. Wir nehmen uns in diesem Artikel die Listbox vor und betrachten deren Möglichkeiten näher.

Eine Listbox ist hervorragend geeignet um eine kleinere Menge an Daten mit nur einer Textspalte anzuzeigen. Im folgenden der Code für die ASP Seite.
<asp:ListBox id="lBoxDept" runat="server" Width="152px" Height="332px"></asp:ListBox>
 
Die Daten werden dann zur Laufzeit der Datasource Eigenschaft zugewiesen. Man kann aber auch zur Entwurfszeit diese Zuweisung vornehmen.
Das Feld, das angezeigt werden soll wird über DataTextField definiert. Davon abweichend kann ein Schlüsselwert über das DataValueField zugewiesen werden. Ein typischer Beispiel dazu ist, einen  Ort als anzuzeigen und die PLZ als Key zu verwenden. Man darf nciht vergessen die Databind Methode aufzurufen um das ganze zu aktivieren.
Dim DS As DataSet
Dim MyCmd As SqlDataAdapter
Dim MyConnection As SqlConnection
MyConnection = New SqlConnection(ConfigurationSettings.AppSettings("DBCon"))
Dim sql As String = "select * from toner_dept where dept_main=" & i.ToString & ""
MyCmd = New SqlDataAdapter(sql, MyConnection)
DS = New DataSet()
MyCmd.Fill(DS, "produkte")
lBoxDept.DataSource = DS.Tables(0).DefaultView
lBoxDept.DataTextField = "dept_name"
lBoxDept.DataValueField = "dept_id"
lBoxDept.DataBind()

  
Es gibt nun zwei Möglichkeiten an den gewählten Eintrag der Listbox ranzukommen.
Event
Wenn die Eigenschaft Autopostback gesetzt ist, wird bei jeden Click in die Listbox ein Roundtrip durchgeführt. Zur Behandlung verwenden Sie dann das Event SelectedIndexChanged.
Ausgewählter Index
Wenn Sie Daten aus einem Eingabeformular speichern wollen, ist das Event die ungeeignete Methode.
Dafür kann über SelectedIndex der Eintrag als Nummer (beginnend bei 0) ausgegeben werden.
Das eigentliche gewählte Item wird über SelectedItem ausgegeben.
lBoxDept.SelectedItem.Value
lBoxDept.SelectedItem.Text
 
Zur visuellen Gestaltung stehen neben Width und Heigth auch die Eigenschaft Rows bereit, die es erlaubt die Box auf eine bestimmte Zeilenanzahl einzustellen. Wenn mehr Einträge in der Liste sind, wird ein Scrollbalken eingeblendet.
Auswahl vorbelegen
Die Eigenschaft SelectedIndex kann auch beschrieben werden und bewirkt eine Vorbelegung der Auswahl. Diese erscheint dann auch, wenn mehr Einträge vorhanden sind, als angezeigt werden, an erster Stelle.
Natürlich kann einer Listbox über Additem auch noch nachträglich Einträge hinzugefügt werden.
Eine SelectBox erlaubt über das Proberty Selection Mode lässt sich ein Mehrfachauswahl einstellen. Die gewählten Einträge werden dann als Collection geliefert.
For i = 0 To checkboxlist1.Items.Count - 1
     If checkboxlist1.Items(i).Selected Then
.....
       End If
Next

 
 

DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 29.04.2002
  Gültig bis: 29.05.2002
3 Ratings
Bewertung: 73,3%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG