[ Trodmi @ 05.02.2009. 08:00 ] @
| Napravio sam design time konekciju ka lokalnoj mdb bazi, povezao sa datagrid-om i sve je u redu. Sada napravim novu formu Form2 koja ce mi sluziti za unos novih podataka. Kako da sa forme 2 pristupim datasetu (adapteru?) koji se nalazi na Formi1?.
Unapred hvala. |
[ Igor Gajic @ 05.02.2009. 11:28 ] @
Pretpostavljam da se druga forma sastoji od textboxova i OK i Cancel dugmeta.
Onda bi mogao prilikom zatvaranja Form2 da te podatke prosledis Form1 i njegovom adapteru. Ovako je "cistije" resenje.
[ Trodmi @ 05.02.2009. 12:12 ] @
U tome i jeste problem. Kako? Form1.?????.????
Close();
[Ovu poruku je menjao Trodmi dana 05.02.2009. u 14:17 GMT+1]
[ Igor Gajic @ 05.02.2009. 15:03 ] @
Recimo ovako:
Code:
Form2 f2=new Form2();
if(form.ShowDialog()==DialogResult.OK)
{
TabelaKojuKoristis.Rows.Add(new object [] { f2.textBox1.Text,f2.textBox2.Text,f2.textBox3.Text,.... });
AdapterTabelaKojuKoristis.Update(TabelaKojuKoristis);
}
f2.Dispose();
Ovo je otprilike najjednostavnije sto moze da se napravi. Samo obrati paznju na tip podataka i raspored istih u tabeli koju koristis.
Npr. ako je druga kolona integer onda umesto: f2.textBox2.Text imas Convert.ToInt32(f2.textBox2.Text)....
[ Trodmi @ 05.02.2009. 15:34 ] @
U redu. Ali kako da Datasource Wizard napravi globalne varijable za adapter, connection i dataset kako bi isti bili vidljivi na svim formama (Ili kako i gde kodirati iste)? Ovo jos uvek znaci da ne mogu da pristupim ovim objektima sa Forme 2.
[ Igor Gajic @ 05.02.2009. 15:45 ] @
Pa nemozes bas sve napraviti sa par klikova, moras malo i da zasuces rukave...
JAKO lose resenje je da napravis globalnu konekciju, adaptere i dataset. Najbolje je da ih izdelis na logicke celine, tj.
za jednu formu koristis jednu konekciju, eventualno par adaptera (master-detail tabele) i jedan dataset koji sadrzi tabele.
Inace pravis haos od programa...
Sto se tice Form2, tu ove textBox-ove moras deklarisati kao public, da bi im mogao pristupati iz prve forme tj. da bi mogao
koristiti f2.textBox.Text..... Najlakse je da u properties svakog textBox-a, pod Modifiers stavis public.
Ovo vazi za sve elemente Form2, ako hoces da im prisupas iz duge forme moras ih deklarisati kao public.
[ Trodmi @ 05.02.2009. 18:30 ] @
Hvala na odgovoru. Presao sam sa Delphi-a gde je to moglo.
[ icobh @ 05.02.2009. 21:39 ] @
Ja bih išao na najpošteniji mogući način. Pošto se u Javi, a samim tim i C#, složeni tipovi podataka prosleđuju kao reference, ja bih u taj Form2 kroz konstruktor proslijedio taj tvoj adapter i u Form2 radio potpuno normalno, kao da sam u Form1.
P.S. Evo jedan primjer za txtBox ali radi se potpuno isto i sa ostalim objektima...
[ Trodmi @ 06.02.2009. 05:50 ] @
Icobh, puno ti hvala na odgovoru. Konacno sam uspeo.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.