[ nikitaGradov @ 04.04.2011. 13:58 ] @
Evo cime se od jutros bavim (na moju zalost - a mislio sam da ce to biti trivijalna stvar): htio bih da realizujem typeahead za jedan listbox. Ono sto treba odmah da napomenem jeste da je property DataSource, od pomenutog listbox-a, setovan - to jest, takva je logika programa da se listboks popunjava iz BindingSource-a. E, ono sto ja nisam znao jeste da se u tom slucaju ne mogu dohvatiti vrijednosti stavki (items) u listboksu. Broj stavki (Items.Count) radi, ali nesto ovako: string stavka = listBoksXY.Items.ToString(), ne radi (vraca vrijednost: System.Data.DataRawView). Objasnjenje (nadjeno na Internetu): posto stavke nisu dodane preko funkcije Items.Add(stavkaXY), njima se i ne moze prici, nego treba pristupati stavkama preko DataSource propertija, odnosno, u samom dataSource-u. Dalje, ja sam, dok nisam saznao da se vrijednosti stavki listboksa ne mogu dobiti, napravio kontrolu: MyListBoks, jasno, izvedenu iz ListBox i, da ne duzim, nasao primjer na Internetu, koji radi typeahed, ali sa stavkama preko Items (znaci, koristi: listBoksXY.Items.ToString()). Znaci, da bih primijenio ovo rjesenje, trebao bih da ovoj klasi, MyListBoks, proslijedim i DataSource (recimo, kao parametar), a to mi se bas i ne radi. Pitanje: ima li neko ideju kako ovo (elegantno) rijesiti? Ima li neki nacin da se paralelno koriste i Items i DataSource (pokusao sam da, posto setujem DataSource, setujem i Items, ali dolazi do runtime greske). Hvala unaprijed ... |