Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.388 pregleda

Najnovija ↓

Razmena podataka izbeđu dva UserControl 21.05.2018. u 21:58 · pre 102 meseca #1
Počeo sam da učim c# sada imam problem.
Imam dva UserControl, uc1 i uc2, gde su smešteni u panel.
U uc2 je DataGridView dok u uc1 profil članova baze.
Hoću da uradim da kada kliknem na člana u uc2 pojavi se podaci u uc1. Kada je bilo u posebne forme, datagrid i profil, uradio sam i radilo je ali odusato sam od popup prozora i sada ne znam kada da prosledim podatke i textbox-ove uc1.
Re: Razmena podataka izbeđu dva UserControl 22.05.2018. u 09:06 · pre 102 meseca #2
U uc2 napravis event koji se zove SelektovaniClanPromenjen koji ces okidati kada se promeni red u gridu. Napravis i property koji se zove SelektovaniClan i koji vraca Id odabranog clana.

U uc1 napravis metod koji se zove PrikaziClana() koji prihvata parametar Id i ucitava iz baze potrebno za prikazivanje.

Onda sve to povezes u formi gde su uc1 i uc2.

Ovako nekako

Code:

uc2.SelektovaniClanPromenjen += delegate 
{
uc1.PrikaziClana(uc2.SelektovaniClan);
};
Re: Razmena podataka izbeđu dva UserControl 22.05.2018. u 12:57 · pre 102 meseca #3
Ja sam uradio ovako i ne radi
uc2
Code:

 uc1 psc = new uc1();
           // preuzimanje indexa izabranog reda 
            int index1 = e.RowIndex;
            DataGridViewRow selectRow = pregledbaze.Rows[index1];
          
            psc.Imebox = selectRow.Cells[1].Value.ToString();


uc1

Code:

public string Imebox { get { return imeBox.Text; } set {imeBox.Text = value; } }

Potreban mi je okidač, pretpostavljam, ali ne znam kako i gde ga staviti
Re: Razmena podataka izbeđu dva UserControl 23.05.2018. u 08:26 · pre 102 meseca #4
Greška je što kreiraš novu uc1 kontrolu pa vrednost dodeljuješ njenom svojstvu.
Treba da koristiš konkretnu uc1 kontrolu koja se nalazi u Form-u. Ne znam njeno ime.
Re: Razmena podataka izbeđu dva UserControl 23.05.2018. u 19:41 · pre 102 meseca #6
Pa napisao sam
prvi kod je u uc2
private void Pregledbaze_CellContentClick(object sender, DataGridViewCellEventArgs e)

a drugi u uc2

u form1, meni, je

Code:

 private void Klijent_Click(object sender, EventArgs e)
        {
            glavniPanel.Controls.Clear();
            
            uc1 p = new uc1();            
            p.Dock = DockStyle.Top;            
            glavniPanel.Controls.Add(p);
            
            uc2 pr = new uc2();
            pr.Dock = DockStyle.Bottom;
            glavniPanel.Controls.Add(pr);            
        }


Re: Razmena podataka izbeđu dva UserControl 26.05.2018. u 21:59 · pre 102 meseca #7
Rešeno
Možda će nekome pomoći

uc2
Code:

public delegate void pacprikaz(int pok);

public static event pacprikaz Pri;
        
        private void Pregledbaze_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (Pri != null)
            {
                _index = e.RowIndex;
                Pri(_index);
            }
       }

uc1
Code:

uc2.Pri += new pacprikaz(clan);

private void clan(int p)
        {
            uc2 sp = new uc2();
            imeBox.Text = sp.Pre.Rows[p].Cells[1].Value.ToString();
           
....
        } 

Nisam koristio pretraživanje baze po ID-u jer mislio sam,ovako ide brže.
Svaka sugestija je dobrodošla
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme