Daten aus gebundener Listbox abrufen
Hallo,
ich war jetzt ein paar Tage damit beschäftigt Daten aus einer Listbox abzurufen, die mit einer Datenbank verbunden ist. Gestern bin ich eher zufällig auf eine simple Lösung gestoßen:
Code:
private void toDoItemsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(((NamespaceName.Datenbankname)(e.AddedItems[0])).Datum.ToLongDateString());
MessageBox.Show(((NamespaceName.Datenbankname)(e.AddedItems[0])).Longitude.ToString());
MessageBox.Show(((NamespaceName.Datenbankname)(e.AddedItems[0])).Latitude.ToString());
}
Datum(String), Longitude(double) und Latitude(double) sind die Spaltennamen aus der Datenbank.
Keine Ahnung, ob das jetzt so ne korrekte Art und Weise ist an die Daten zu kommen, aber es funktioniert zumindest.
Gruss,
Manny
AW: Daten aus gebundener Listbox abrufen
Doofe Frage, aber greifst Du damit nicht immer auf das erste Element in der Selektion der Datenbank oder besser Tabelle zu?
Grundsätzlich kann eine Selektion ja mehrere Elemente aufweisen? ...aber wahrscheinlich irre ich mich.
AW: Daten aus gebundener Listbox abrufen
Ja. Da muss man aufpassen. Ausserdem kann man auch nichts auswählen. Dann würde der Code in einer IndexOutOfRangeException enden
AW: Daten aus gebundener Listbox abrufen
@pdelvo: Stimmt. Aber mit den beiden Zeilen hat sich das mit der IndexOutOfRangeException dann auch erledigt:
Code:
if (ListBox1.SelectedIndex == -1)
return;
@heuby: Nein, es wird immer das Element zurückgegeben, welches ausgewählt wurde.
Leider habe ich noch keine Möglichkeit gefunden, mehrere markierte Einträge nacheinander abzufragen.Z.B. welche mit einer Checkbox innerhalb der Listbox ausgewählt wurden. Bei einer "normalen" Listbox ist das kein Thema, aber sobald die gebunden ist, verhält die sich total anders. Und leider gibt es kaum Infos zu solch einer gebundenen Listbox.