[ Mikelly @ 19.11.2007. 09:53 ] @
Evo jedan problem koji me muci vec odavno, zato cu ga natenane objasnit:

Imam jednu tabelu, tabelu Artikala:

ID, SIFRA, NAZIV, KAT_BROJ, ORG_BROJ

I druga tabela, Fakture:

ID, ARTIKAL, KOLICINA, CIJENA

Relacija:

ID -> ARTIKAL

Kada pravim datagridview za tabelu fakture, hocu da mi se u istom datagridview-u prikazuju i svi detalji izabranog artikla.

Sto se tice polja ARTIKAL (foreign key) tebele Fakture, to polje u datagridview-u konvertujem u combobox, pa mi on prikazuje (recimo naziv artikla) a i dalje se vezuje na kljuc. Na taj nacin, mogu prikazati jedan smisleni atribut tabele Artikli umjesto da prikazujem kljuc.
Ali sto cu sa ostalima, kako njih da prikazem u istom datagridview-u?

Znaci, datagridview treba da mi izgleda kao:
SIFRA---NAZIV----KAT_BROJ----ORG_BROJ---KOLICINA---CIJENA

a ja samo jedno od ova cetiri polja (sifra, naziv, kat_broj, org_broj) mogu svezat na foreign key. Kako dodat jos 3 kolone i kako ih podesit da prikazuju atribute tabele artikli?

U accessu sam to lako rjesavao, napravi se query nad obje tabele i takav query se koristi kao datasource forme. Onda se svaka izmjena foreign kljuca automatski reflektuje na sva polja koja poticu iz tabele artikli.

Slicno sam probao u VS2005, napravio table adapter iz dvije tabele, podesio relaciju u dataset designeru, napravio bindingsource tog adaptera, povezao sa datagridview-om, ali uvijek prijavljuje gresku prilikom run-a. Kao constrains cannot be set, ili nesto slicno...

Molim pomoc, dako je ovo rjesivo...

Pozdrav...
[ toxi_programer @ 19.11.2007. 13:29 ] @
Ako sam te na pravi način razumeo, potrebno je da napraviš ovakav SQL izraz:

Code:

SELECT Artikala.Sifra, Artikala.NAZIV, Artikala.KAT_BROJ, Artikala.ORG_BROJ, Fakture.KOLICINA, Fakture.CIJENA FROM Artikal, Fakture

[ Mikelly @ 19.11.2007. 17:50 ] @
Ada jes coce, nije mene problem napravit taj query no kako da mi on bude datasource za datagridview...
I da to radi ono sto mene treba poslije...
Ocigledno da ja ne umijem objasnit problem
[ toxi_programer @ 19.11.2007. 18:19 ] @
Hm, nije da se ja razumem ali evo kako sam ja uradio.

Imaš dataSet objekat.
Napraviš DataAdapter i konstruktoru predaš onaj SQL izraz koji sam naveo i objekat koji predstavlja konekciju na bazu.
Onda pozoveš Fill() metodu i predaš joj dataSet objekat. onda napišeš:

Code:

myDataGridView.DataSource = dataSet.Tables[0];


i onda će u dataGridView da se prikažu podaci...

Ne znam dal' to ovako treba da se radi( otvorio sam temu i pitao ) ali znam da radi, tj.ja sam tako uradio u jednom programu.