[ Predrag Supurovic @ 02.02.2011. 12:30 ] @
Napravio sam prosto testni primer da ispitam problem sa kojm sam se susreo. On se sastoji od DataSeta napravljenog u dizajneru i jedne forme. Na DataSet-u sam napravio dve tabele MasterTable i DetailTable i jednu relaciju između njih po odovarajućem ključu. Na formi se nalaze dva grida MasterGrid i DetailGrid. Na njoj su i MasterBindingSource i DetailBindingSource koji su postavljeni kao DataSource na odgovarajućim gridovima. MaserBindingSource kao DataSource ima sam DataSet a kao dataMember je navedeno ime tabele koja je master. Za DetailBindingSource je kao DataSource naveden MasterBindingSource a kao DataMember je navedena relacija između MasterTable i DetailTable. Sve ovo sam napravio u Dizajneru. Inicijalizacija forme puni tabele iz baze i sve to radi kako treba. Kad se pokrene apliakciaj oba grida prikazuju podatke iz odgovarajućih tabela, s tim, da, kako se kursor pomera po master gridu, u detail gridu se pokazuju slogovi koji po relaciji odgovaraju slogu iz master tabele. To je sve očekivano i nema prolema sa tim. E sad, meni u stvari treba da u realnoj apliakciji sve ovo napravim u kodu. Osim gridova na formi, sve ostalo moram rogramski da podesim. Tu se javlaj problem. Kada programski podesim sve isto kao što sam opisao da sam uradio u Dizajneru, relaciajizmeđu tabela ne radi i u DetailGrid se ne prikazuju nikakvi podaci (grbid izgleda kao da mu je DataSource = nil). Uspeo sam da utvrdim tačno mesto gde se javlaj problem: ako u Dizajneru DetailBindingSource.DataSource ostavim nepodešeno, a popunim ga programski, to neće da radi. Ako DetailBinfogSource.DataSource u dizajneru povežem sa MasterBindingSource a ostavim nepodešeno DetailBinfogSource.DataMember i onda programski u DataMember upišem naziv relacije, to radi. Iz nekog razloga, ako DataSet na bindingSource nije povezan u dizajneru, povezivanje programski (na Load forme) ne radi. Da li se neko susretao sa ovakvim problemom? Pošto se radi o prilično banalnoj stvai koja j epotrebna u skoro svakoj apliakciji, pretpostavljam da ja negde grešim, samo što ne mogu da uhvatim u čemu je problem. Aplikacija dakle ne prijavljuje nikakvu grešku, samo DetailGrid ne prikazuje podatke i izgleda kao da nije povezan ni sa kakvim DataSource-om. |