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

Povezivanje dva datagrid-a u dvije forme

[es] :: .NET :: .NET Desktop razvoj :: Povezivanje dva datagrid-a u dvije forme

[ Pregleda: 2470 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
194.126.214.*



Profil

icon Povezivanje dva datagrid-a u dvije forme22.02.2010. u 08:49 - pre 171 meseci
Pozdrav svima,

radi se o slijedećem: na glavnoj formi imam datagridview (npr. nalazi se popis svih računa). Želim da mi se pritiskom na jednu od čelija odnosno jedan račun u tom datagridview-u , otvori slijedeća forma sa svojim datagrid-om i u njemu ispišu detaljniji podaci o tom računu.
Znam napraviti poziv druge forme, ali ne znam kako dobiti na drugom datagrid-u, u drugoj formi detaljnije podatke iz prvog datagrid-a.
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 10:19 - pre 171 meseci
moras drugi datagrid view popuniti iznova koristeci to na sta si kliknuo kao parametar. mozes ga prenjeti preko konstruktora druge forme

iz prve forme
Code:

Form2 frm2 = new Form2(dataGridView1.CurrentRow.Cells[0])
frm2.ShowDialog();


e sad si drugoj formi proslijedio prvu kolonu selektovanog reda ( recimo da ti je to neki pk) i na osnovu njega uradis upit ka bazi il vec odakle vadis podatke. Vodi racuna da moras napraviti konstruktor u drugoj formi koja prihvata jedan parametar.
I pazi gore kod Cells[0] mozda treba staviti Cells[0].Value tek sam se probudio pa se ne mogu skontati.

 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 10:25 - pre 171 meseci
moras drugi datagrid view popuniti iznova koristeci to na sta si kliknuo kao parametar. mozes ga prenjeti preko konstruktora druge forme

iz prve forme
Code:

Form2 frm2 = new Form2(dataGridView1.CurrentRow.Cells[0])
frm2.ShowDialog();


e sad si drugoj formi proslijedio prvu kolonu selektovanog reda ( recimo da ti je to neki pk) i na osnovu njega uradis upit ka bazi il vec odakle vadis podatke. Vodi racuna da moras napraviti konstruktor u drugoj formi koja prihvata jedan parametar.
I pazi gore kod Cells[0] mozda treba staviti Cells[0].Value tek sam se probudio pa se ne mogu skontati.

 
Odgovor na temu

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
194.126.214.*



Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 10:34 - pre 171 meseci
Hvala na odgovoru, ali budući da to prvi put radim, nisam te baš razumio.
Ja sam na prvoj formi napravio ovo:

private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
frmForma1 frm1 = new frmFrorma2();
frm1.IDRacun = (int)dataGridView1.Rows[racuniBindingSource.Position].Cells[0].Value;
frm2.ShowDialog();
}

i tu sam stao. Da li mi možeš malo detaljnije raspisat kod za drugu formu kad se razbudiš ;-)
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 12:33 - pre 171 meseci
Code:

private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) 
{
frm1.IDRacun = (int)dataGridView1.Rows[racuniBindingSource.Position].Cells[0].Value;

frmForma2 frm2 = new frmFrorma2(frm1);

frm2.ShowDialog();
}


u drugoj formi dodas

Code:


public Form parent;

public void frmForm2(Form par){
    this.parent=par;
}

public void nekaFunkcijaKojaPuniDGV(){
String comString = "SELECT * FROM Racuni WHERE Racuni.id = "+parent.IDRacun;
//izvrsis upit il kako vec dobavljas podatke u dgv
}



ako ti jos nesto treba tu sam skoro citav dan pa se slobodno javi
 
Odgovor na temu

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
194.126.214.*



Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 14:38 - pre 171 meseci
Do djelomičnog rješenja sam došao na malo drugačiji način, ali i dalje imam problem punjenja drugog datagrid-a na child formi:
Zaboravio sam ti reci da se dio podataka na child formi prikazuju u textbox-vima, a jedan dio u datagrid-u.

Ovaj dio prikaza podataka u textbox-vima sam riješio, ali nikako da napravim ovo s datagrid-om.
Znači, napravio sam slijedeće:
U glavnoj formi na dvostruki klik u jednoj od čelija otvara mi se child forma. Budući da mi se u glavnoj formi nalazi popis svih računa, u child formi želim vidjeti stavke pojedinog računa. U textbox-vima punim podatke o nazivu kupca i adresi kupca, a u datagrid-u želim vidjeti Cijenu, Popust, IDRacuna...

Child forma:

SqlConnection cnn = new SqlConnection();

try
{
cnn.ConnectionString = "NESTO;";

SqlCommand cmd = new SqlCommand(@"Select NazivKupca, AdresaKupca,
from Kupci
where IDKupac=" + IDKupac + " , cnn);

SqlDataReader myReader1;
cnn.Open();
myReader1 = cmd.ExecuteReader();

myReader1.Read();
txtNazivKupca.Text = myReader1["NazivKupca"].ToString();
txtAdresaKupca.Text = myReader1["AdresaKupca"].ToString()

pokcn.Close();
}

Kako da ostatak podatak ubacim u datagrid (Cijenu, Popust, IDRacuna...)?
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 15:28 - pre 171 meseci
ostavicu ti resenje veceras oko 9 pa naleti
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme22.02.2010. u 23:18 - pre 171 meseci
e izvinjavam se sto kasnim al evo

Code:

try
{
cnn.ConnectionString = "NESTO;";

SqlCommand cmd = new SqlCommand(@"Select NazivKupca, AdresaKupca, 
from Kupci 
where IDKupac=" + IDKupac + " , cnn);

SqlDataReader myReader1;
cnn.Open();
myReader1 = cmd.ExecuteReader();

myReader1.Read();
txtNazivKupca.Text = myReader1["NazivKupca"].ToString();
txtAdresaKupca.Text = myReader1["AdresaKupca"].ToString() 

string[] rowData = new string[3];
rowData[0] = myReader1["IDRacuna"].ToString() ;
rowData[2] = myReader1["Cijena"].ToString() ;
rowData[3] = myReader1["Popust"].ToString() ;

dgv1.Rows.Add(rowData);
pokcn.Close(); 
}

recimo da ti je dgv1 naziv tog data grida na drugoj formi. Ako dobijas vise rezultata onda ce ti trebati samo jedan while(myReader1.Read())
 
Odgovor na temu

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
194.126.214.*



Profil

icon Re: Povezivanje dva datagrid-a u dvije forme23.02.2010. u 14:13 - pre 171 meseci
Hvala na trudu.
Budući da mi i dalje ne radi, zbrisao sam cijeli projekt i krenuo ga nanovo napravit, ali ovaj put bez wizarda za spajanje na bazu.

Znam da neke stvari pitam ponovo, ali da li mi možeš reci koji parametar proslijedim konstruktoru u ovom slučaju:

Citat:
malo_nj
moras drugi datagrid view popuniti iznova koristeci to na sta si kliknuo kao parametar. mozes ga prenjeti preko konstruktora druge forme

iz prve forme
Code:

Form2 frm2 = new Form2(dataGridView1.CurrentRow.Cells[0])
frm2.ShowDialog();


e sad si drugoj formi proslijedio prvu kolonu selektovanog reda ( recimo da ti je to neki pk) i na osnovu njega uradis upit ka bazi il vec odakle vadis podatke. Vodi racuna da moras napraviti konstruktor u drugoj formi koja prihvata jedan parametar.



 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme23.02.2010. u 14:33 - pre 171 meseci
pa zavisi sta ti treba ono drugo resenje je bilo po meni bolje

Code:

frm1.IDRacun = (int)dataGridView1.Rows[racuniBindingSource.Position].Cells[0].Value;

frmForma2 frm2 = new frmFrorma2(frm1);


u ovom slucaju ti formi 2 proslijedis formu jedan i onda mozes da koristis sve njene attribute kao sto je recimo ovaj IDRacun pod uslovom da je public ili mu napravis getter. Mada mozes odma i da proslijedis Cells[0].Value i time u drugoj formi imas vrijednost prvog polja selektovanog reda. Onaj dio sto si imao sto ti je popunjavao textbox-ove je dobar i trebao bi da radi. Samo stavi
Code:

SqlCommand cmd = new SqlCommand(@"Select * 
from Kupci 
where IDKupac=" + IDKupac + " , cnn);


ako nisi to odradio
 
Odgovor na temu

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
194.126.214.*



Profil

icon Re: Povezivanje dva datagrid-a u dvije forme24.02.2010. u 14:55 - pre 171 meseci
Ono, nikako da proradi tako da stalno nešto kemijam kako da riješim problem.
Sad sam postavio čak dva datagrid-a na jednu formu pa me zanima slijedeće:
U master datagrid-u imam popis svih računa, a u detail datagridu imam stavke računa. Sve sam to postavio, ali mi se ne prikazuju stavke računa u detail datagrid-u kada odaberem neki račun u master datagrid-u.
Šaljem ti cijeli kod i znam da mi nedostaje nešto pa ako imaš živaca, pomogni.

public partial class Form1 : Form
{
public SqlConnection myConnection;
public DataSet myDataSet;
public SqlCommand myCommand;
public BindingSource masterBindingSource = new BindingSource();
public BindingSource detailsBindingSource = new BindingSource();
public int IDRacun;

public Form1()
{
InitializeComponent();
}

private void GetData()
{
try
{

string connectionString = "Server=XXXXXX;Database=XXXXX;Trusted_Connection=True;";
myConnection = new SqlConnection(connectionString);
myConnection.Open();

myDataSet = new DataSet();

SqlDataAdapter masterDataAdapter = new SqlDataAdapter("Select * from Racuni", myConnection);
masterDataAdapter.Fill(this.myDataSet, "Racuni");

SqlDataAdapter detailsDataAdapter = new SqlDataAdapter("select * from StavkeRacuna where IDRacun= " + IDRacun, myConnection);
detailsDataAdapter.Fill(this.myDataSet, "StavkeRacuna");

masterBindingSource.DataSource = this.myDataSet;
masterBindingSource.DataMember = "Racuni";

this.myDataSet.Relations.Add("RacuniStavkeRacuna",
myDataSet.Tables["Racuni"].Columns["IDRacun"],
myDataSet.Tables["StavkeRacuna"].Columns["IDRacun"]);


//skrivanje polja
myDataSet.Tables["Racuni"].Columns["GodinaRacuna"].ColumnMapping = MappingType.Hidden;

detailsBindingSource.DataSource = this.myDataSet;
detailsBindingSource.DataMember = "StavkeRacuna";

myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Form1_Load_1(object sender, EventArgs e)
{
gridIzradaRacuna.DataSource = masterBindingSource;
gridDetaljiRacuna.DataSource = detailsBindingSource;
GetData();

gridIzradaRacuna.AutoResizeColumns();
gridDetaljiRacuna.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
}
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme25.02.2010. u 13:22 - pre 171 meseci
evo samo prepravi conn string. imas i da otvori na drugoj formi sa button1 ali mora prije toga biti selektovan jedan red
Prikačeni fajlovi
 
Odgovor na temu

cetiririjeke
Karlovac

Član broj: 252153
Poruke: 9
*.dsl.iskon.hr.



Profil

icon Re: Povezivanje dva datagrid-a u dvije forme25.02.2010. u 20:10 - pre 171 meseci
Hvala ti puno, napokon proradilo .
Dužan sam ti pivu, dvije...
Imat ću još nekih radova u skoroj budućnosti pa se nadam da te neće smetati, ako te opet malo zadavim s pitanjima.
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Povezivanje dva datagrid-a u dvije forme26.02.2010. u 03:40 - pre 171 meseci
za pivu sve ;)

 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Povezivanje dva datagrid-a u dvije forme

[ Pregleda: 2470 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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