Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Data Set u prvoj formi

[es] :: .NET :: Data Set u prvoj formi

[ Pregleda: 6060 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

*.net

Član broj: 4660
Poruke: 138
*.90.EUnet.yu



Profil

icon Data Set u prvoj formi21.07.2002. u 12:45 - pre 241 meseci
Dajem casnu T P rec da cu kupiti MSDN cim skupim neki din, ali ako moze jos jedno pocetnicko pitanje u vezi ADO.NET-a, odnosno VB.NET-a

Imam jednu formu i u nju ubacim data set sa sve ostalim objektima i onda napravim novu formu koja se pojavljuje na neko dugme sa onim
form2.ShowDialog()
I u toj novoj formi hocu da radim sa data setom iz prve. Kako da referenciram data set? Naravno misilo sam da je kao u VB6
Form1.dataset... tral la la
Al nije

Ovo se moze odnositi i na bilo koju drugu kontrolu, na primer hocu da menjam Text u nekom texbox-u prve forme iz druge.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 16:00 - pre 241 meseci
Sinovac, imas zaista mnogo mogucih resenja. Upamti da su forme objekti kao i sve ostalo (dobro, skoro sve:).

Posto vidim da cesto govoris o VB6, evo ti jedno resenje u tom smislu -nesto sto podseca na PUBLIC (global) promenjive u VB6.
Dakle mi cemo imati neke public promenjive koje ce pokazivati na razne objekte (npr nase dve forme).

Recimo da imas 2 forme u projektu MyForm1 i MyForm2.
U prvoj formi imas definisano dataset sa FRIEND scope (!!).
Znaci, negde u telu klase MyForm1 si deklarisao dataset pomocu:
Code:

FRIEND MyDataSet As Dataset = New DataSet()

Dataset moras da definises kao minimalno FRIEND jer inace nista od vidljivosti u drugoj formi.

Idemo sad, dodaj jedan modul u projekt i u njemu:
Code:

Module Common
    Public Class PubVars
        Public Shared pvForma1 As MyForm1 
        Public Shared pvForma2 As MyForm2
    End Class
End Module

E to je nasa klasa PubVars koja ce drzati reference na nase objekte. Bile gde mi cemo moci da pristupamo objektima kad ih jednom referenciramo.
Polja u klasi su Public (to ti je jasno) i SHARED - mozemo da im pristupamo a da nismo instancirali klasu sa onim Dim xyz as new pubvars().

Negdje u kodu prve forme (myForm1) odradi kod (moze u Load event prve forme):
Code:

PubVars.pvForma1 = Me

Sad znaci imamo uvek pokazivac na prvu formu (PubVars.pvForma1)

Kada 'odradjujes' drugu formu sa onim npr.
Dim f2 as MyForm2 = New MyForm2
f2.ShowDialog
mozes ovo da izmenis tako da:
Code:

Dim f2 as MyForm2 = New MyForm2
PubVars.pvForma2 = f2
f2.ShowDialog


Dakle sad imamo i globalnu referencu na drugu formu.

Gotov posao. :)

Kako ces sad da pristupis datasetu (ili textboxu ili...) iz druge forme?
Jednostavno u drugoj mozes da imas npr:
Code:

datagrid1.datasource=PubVars.pvForma1.MyDataset.Tables(0)


ili iz druge forme hoces neki textbox da procitas (koji je na prvoj formi):
Code:

msgbox(pubvars.pvForm1.Textbox1.Text)


vredi i obrnuto, iz prve da kasnije pristupas kontrolama sa druge forme (koja mora da bude instancirana; odnosno da nije zatvorena), npr. negde u prvoj formi imas:
Dim TekstSaDruge as String = pubvars.pvForm2.Textbox1.Text


[Ovu poruku je menjao degojs dana 21.07.2002 u 12:50 PM GMT]
Commercial-Free !!!
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 17:12 - pre 241 meseci
da li bi mogao da pojasnis malo ovaj hint?
probao sam - kod mene ne moze.

Po meni, logicno bi bilo da NE moze, jer system.windows.forms sadrzi neke klase iz .net frameworka, izmedju ostalih i form klasu. Nelogicno bi bilo da systems.windows.forms sadrzi neku klasu koju sam ja kreirao u svom programu, a drugo, cak i da se kojim cudom nadje tamo, meni treba referenca na ziv objekt u memoriji a ne na klasu tako da opet nigde ne stizes.

da kratko prosirim odgovor, za prosledjivanje moze jos da se koristi:
1) prosledjivanje preko konstruktora - jednostavno se prosledi prilikom instanciranja, a u formi 2 procita u konstruktoru
2) prosledjivanje preko svojstava - jednostavno se doda svojstvo drugoj formi u koje se onda postavi referenca na formu1

Mozda sam malo iskomplicirao sa onim prvim odgovorom pa evo onda i ova dva, kako ko voli.. ima sve mane i prednosti :)


[Ovu poruku je menjao degojs dana 21.07.2002 u 12:46 PM GMT]
Commercial-Free !!!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Data Set u prvoj formi21.07.2002. u 17:38 - pre 241 meseci
Zato sam i obrisao svoj post:), tvoj odgovor je daleko adekvatniji.

Moj 'hint' je bio daleko od resenja.

pozdrav
fire, walk with me
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 17:45 - pre 241 meseci
mozda si mogao i da ostavis, neko ko se prebacuje iz vb6 u vb.net ce upravo iz tog da skonta neku svoju gresku ili slicno...
sta znam.. ok:)

pozdrav
Commercial-Free !!!
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 19:57 - pre 241 meseci
Citat:
degojs:

da kratko prosirim odgovor, za prosledjivanje moze jos da se koristi:
1) prosledjivanje preko konstruktora - jednostavno se prosledi prilikom instanciranja, a u formi 2 procita u konstruktoru
2) prosledjivanje preko svojstava - jednostavno se doda svojstvo drugoj formi u koje se onda postavi referenca na formu1

Mozda sam malo iskomplicirao sa onim prvim odgovorom pa evo onda i ova dva, kako ko voli.. ima sve mane i prednosti :)


Ova dva rešenja su daleko bolja od onog koje si detaljno opisao u prvom postu, a posebno prosleđivanje preko konstruktora.

Prosto i jednostavno: dodaš i u drugoj formi promenljivu tipa dataset i napraviš još jedan konstruktor (Sub New) koji prihvata argument tipa dataset. Zatim kad budeš kreirao objekat druge forme negde u prvoj formi, ti pozoveš ovaj konstruktor.
Ovako nekako:

Dim form2Obj As New Form2(datasetObj)

i onda direktno koristiš taj DataSet objekat kao da je član klase Form2


 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 20:02 - pre 241 meseci
E,da. A ako želiš da pristupaš svim elementima form1Obj iz form2Obj, onda u formu 2 dodaš član tipa Form1, pa napraviš konstruktor koji će da tom članu dodeli vrednost, pa onda kad iz form1Obj praviš form2Obj, uradiš ovako:

Dim form2Obj As New Form2(Me)
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Data Set u prvoj formi21.07.2002. u 20:26 - pre 241 meseci
Sad kad malo razmislim, tacno: ono prvo resenje izgleda vise kao neki work-around, ali nesto mi bilo na pameti da mu usput pokazem kako da ima 'zamenu' za Public varijable iz VB6.

Citat:

Dim form2Obj As New Form2(Me)


uuu hell yeah :)) odlican tip.
Nego, sto se ja toga nisam setio: valjda si ti zato Tata, a ja nisam ni ozenjen :))))


Commercial-Free !!!
 
Odgovor na temu

*.net

Član broj: 4660
Poruke: 138
*.81.EUnet.yu



Profil

icon Re: Data Set u prvoj formi21.07.2002. u 22:25 - pre 241 meseci
Sada kada sam se malo smirio i uspeo da sacuvam hardver od lomljave, javljam se da se zahvalim na odgovorima. Najbitnije mi je da mi trenutno sve radi, a to sto mi nije nista jasno gde kada zbog cega, ce se promeniti kada proctam neku knjigu od pocetka do kraja i temeljno ukapiram klase u ovom novom cudu, nadam se.
Totalno sam zbunjen trenutno. U vezi sam VB-om uvek mi je sve bilo blisko (u sestici), a sto se tice objekata to mi je isto bilo blisko kada se radi o c++ standardu koji se radi po skolama. A sada kada se radi o VB+OOP sve sam zivo pomesao.
Da li mozete da mi date savet za sledece? Jos nisam poceo ozbiljno ni vb.net ni c#.net da ucim. Sto se tice VB6 koncept mi je poznat i ta vb-ova sintaksa. Objekte kao sto rekoh kapiram sve u c++ standarnu( izuzimam MFC ). Da li da se prvo koncentrisem na c# ili vb.net ili po malo oba da pratim , ne znam ni sam, zato pitam?
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Data Set u prvoj formi21.07.2002. u 23:31 - pre 241 meseci
Nemoj ti nista da se sekiras, samo sedi i uci kao sto si i sam rekao :)

A mi moderatori sa ovog foruma, pokusacemo da napisemo par tekstova koji ce valjda da priblize novi VB.NET starim VB 6.0 programerima pre nogo sto im se zgadi novi VB.


pozdrav
fire, walk with me
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Data Set u prvoj formi22.07.2002. u 14:49 - pre 241 meseci
Citat:

Da li da se prvo koncentrisem na c# ili vb.net ili po malo oba da pratim , ne znam ni sam, zato pitam?


Moj savet bi bio da se koncentrises na sam .NET framework, u prvom redu.
Nije problem VB.NET ni C# (u smislu same jezicke sintakse i principa rada) - veci problem je ogroman broj klasa u samom .NET-u. Verovatnoca je da klasa koja ce ti znatno ubrzati resenje problema vec postoji u frameworku i tu je problem - treba znati da klasa uopste postoji, a kako je onda upotrebiti mozes da nadjes u samom helpu ili na netu.
Nista ti ne skodi da pratis oba jezika, mada mozes da krenes i drugim putem:
jednom kad savladas, npr. C# lako je 'uhvatiti' VB.NET i obrnuto.

Commercial-Free !!!
 
Odgovor na temu

[es] :: .NET :: Data Set u prvoj formi

[ Pregleda: 6060 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.