[ JeCa PeReCa @ 11.04.2004. 21:39 ] @
Kako se tacno postavlja binding na combo box? Na primer, imam jednu tabelu, a combo box je bindovan na drugu koja popunjava combo box, dok ono sto izaberem u combo boxu treba da bude smesteno u prvu tabelu. E, to je sad pitanje, kako to da izvedem? Ispisala bih ovde deo koda ali pravo da vam kazem mislim da cu jos vise zbuniti onog ko ga cita, tako da ako slucajno imate neki predlog...?
[ ZokiR @ 12.04.2004. 06:34 ] @
Koristi DataSource i DisplayMember/ValueMember za listu mogućih vrednosti, i DataBindings za binding izabrane vrednosti.

Npr. ako dataSet.Tables(0) sadrži moguće vrednosti u polju Code, a dataSet.Tables(1) čuva izabranu vrednost u polju zvanom SelectedCode, onda se to radi ovako:

Code:

comboBox.DataSource = dataSet.Tables(0)
comboBox.DisplayMember = "Code"

comboBox.DataBindings.Add("Text", dataSet.Tables(1), "SelectedCode")
[ JeCa PeReCa @ 12.04.2004. 13:54 ] @
Hvala na odgovorima!
Sve ovo vezano za ComboBox sam upravo tako i ranije uradila i to funkcionise perfektno za pregled onoga sto je upisano. Ali kada upisujem novi podatak u formi vezanoj za DataSet, Adapter.Update to ne upisuje u SQL. Isto tako Adapter.Update ne upisuje polja koja nisu menjana (upisuje null) i ne upisuje vrednost iz polja koje je nevidljivo (insert ne odradi, ostavi null).
U brdu dokumentacije koje sam procitala o tome nista ne pise. Da li postoji neki parametar kojim bih Adapter.Update naterala da upise sve podatke koji se nalaze u DataSetu?
Pozdrav
[ ZokiR @ 12.04.2004. 16:06 ] @
Problem je u tome što te vrednosti nisu u DataSet-u pa se zato ni ne upisuju u bazu podataka. Treba da pozoveš EndCurrentEdit() kada korisnik izabere drugu vrednost u ComboBox-u da bi promenila vrednosti u DataSet-u.

Code:

binding = comboBox.DataBindings.Add("Text", dataSet.Tables(1), "SelectedCode")

...

' Ovo stavi pod SelectedIndexChanged event handler
binding.BindingManagerBase.EndCurrentEdit()