Wyświetlanie danych z bazy do ListBoxa

0

Witam. Mam taki problem. Wyświetlam sobie w ListBoxie dane z bazy. Problem polega na tym że chiałbym użyć w zdarzeniu Selected_Index coś takiego:

label1.Text = listBox1.SelectedItem.ToString();

Nie wiem czemu ale wynikiem tego wiersza kodu jest : System.Data.Data.RowView.
Natomiast kiedy w listboxie są dane wprowadzone przeze mnie to wszystko działa.
Nadmienię jeszcze że SelectedIndex działa poprawnie, ale to mnie nie ratuje. Z góry dzięki za
pomoc

0

O ile dobrze pamietam to ListBox przy bindowaniu przyjmuje typ object, a nie stringa. Zatem jesli bindujesz z bazy tabele to SelectedItem bedzie wlasnie typu wiersza tej tabeli, a konkretnie jej widoku. Poprzez atrybut DisplayMember wybierasz, ktora kolumna, ma byc ta bindowaną do pokazywania, a ValueMember - ktora kolumna jest wartoscia. Pozniej nie korzystaj z SelectedItem, tylko z SelectedValue - ktory zwroci Ci poprawna wartosc.

Dwie rady na przyszlosc: Daj prefixa [WinForms] lub wspomnij o tym na starcie, bo ListBox w WinFormach, asp.net czy WPF dziala troche inaczej :) No i dales jedna kropke za duzo - System.Data.DataRowView - (przez chwile zaczale googlowac samo RowView i sie zwatpilem ze swoja odpowiedzia (bo taki typ wystepuje przy pracy z SqlServerCe.

Pozdrawiam :)

0

Dzięki bardzo za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1