Novo

Forum kao aplikacija na telefonu

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

Listview Double Click i popunjavanje TextBox-ova - Problem

  • 8 odgovora
  • 3.483 pregleda

Najnovija ↓

Listview Double Click i popunjavanje TextBox-ova - Problem 29.03.2011. u 17:20 · pre 189 meseci #1
Pozdrav forumasi!!!!

Radim na nekom programcetu i zapeo sam kod sledeceg:

Imamm glavnu formu "frmProgram" i u njoj 3 TextBox u koja se upisuju Ime, Prezime i Telefon.
Takodje, ako postoje vec upisana, podatke pretrazujem klikom na dugme za pretragu.
Kada kliknem na dugme "Pretraga" otvara se druga forma "frmPretraga" i tu se nalazi Listview1
u kojoj se prikazuju podaci iz baze. Lista ima tri kolone: Ime, Prezime, Telefon.
E sad, ne znam kako da prilikom dvoklika na zeljenu osobu iz liste, njene podateke (Ime, Prezime, Telefon)
ucitam u frmProgram u prazne TextBox-ove.

Pozdrav!
P.S. Radim u VB.Net 2008!
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 30.03.2011. u 08:15 · pre 189 meseci #2
Ja obično držim sve na jednom form-u/window-u.
U tvom slučaju je potrebna jedna public ili protected metoda u formu sa TextBox-ovima
koju ćeš da pozivaš iz child form-a i da joj prosleđuješ te podatke. Ona ih prihvata i
upisuje vrednosti u TextBox-ove.
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 30.03.2011. u 19:22 · pre 189 meseci
izmenjeno 1 put, poslednji put SuDar407 31.03.2011. u 05:21
  1. SuDar40731.03.2011. u 05:21zapis iz teksta poruke
#3
Da, i ja sam do sada drzao sve u jednoj formi. Mogu da napravim modul gde ce da pamti
vrednosti, ali kako da te vrednosti ponovo (trenutno) pozovem u glavnu formu?
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 31.03.2011. u 08:39 · pre 189 meseci
izmenjeno 1 put, poslednji put bigguy 31.03.2011. u 08:52
  1. bigguy31.03.2011. u 08:52zapis iz teksta poruke
#5
Mozda bi ti ovo pomoglo:

Code:

    public class clsConnection
    {
        public static SqlConnection conn;
        private string strconn;

        public void setSqlConnection()
        {
            strconn = "OVDE STAVI TVOJ KONEKCIONI STRING";
            conn = new SqlConnection(strconn);
        }
    }


//ovaj kod stavis u formi frmProgram na dogadjaj button_click za otvaranje pretrage

            frmSearch new_frmSearch = new frmSearch();
            DialogResult dr = new_frmSearch.ShowDialog();
            if (dr == DialogResult.OK)
            {
                SqlCommand cm = new SqlCommand("SELECT podatke koje zelis FROM tabele odakle su ti podaci WHERE ID '" + new_frmSearch.id, clsConnection.conn);//ja sam ovde stavio uslov da je neki ID iz tabele ciju sam vrednost vezivao sa brojem reda u ListView1 ali ti mozes taj uslov prilagoditi onako kako tebi odgovara
                try
                {  
                   clsConnection.conn.Close();
                   clsConnection.conn.Open();
                   try
                   {
                        using (SqlDataReader dr = cm.ExecuteReader())
                        {
                            if (dr.Read())
                            {
                                 //puni svoje TextBox-ove
                            }
                            else
                           {
                                MessageBox.Show("Search data isn't available.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                    }
                    catch
                    {
                        MessageBox.Show("Incorrect data value.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch
                {
                    MessageBox.Show("Connection to the database is broken.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }


//ovaj deo koda ubacis u formu frmPretraga u dogadjaj ListView1_MouseDoubleClick
        
        private void ListView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
             id = int.Parse(ListView1["ID", ListView1.CurrentRow.Index].Value.ToString());
             this.Close();
             this.DialogResult = DialogResult.OK;
        }



I to bi trebalo da bude to :-)
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 31.03.2011. u 08:44 · pre 189 meseci #6
Mozda bi ti ovo pomoglo:

Code:

    public class clsConnection
    {
        public static SqlConnection conn;
        private string strconn;

        public void setSqlConnection()
        {
            strconn = "OVDE STAVI TVOJ KONEKCIONI STRING";
            conn = new SqlConnection(strconn);
        }
    }


//ovaj kod stavis u formi frmProgram na dogadjaj button_click za otvaranje pretrage

            frmSearch new_frmSearch = new frmSearch();
            DialogResult dr = new_frmSearch.ShowDialog();
            if (dr == DialogResult.OK)
            {
                SqlCommand cm = new SqlCommand("SELECT podatke koje zelis FROM tabele odakle su ti podaci WHERE ID '" + new_frmSearch.id, clsConnection.conn);//ja sam ovde stavio uslov da je neki ID iz tabele ciju sam vrednost vezivao sa brojem reda u ListView1 ali ti mozes taj uslov prilagoditi onako kako tebi odgovara
                try
                {  
                   clsConnection.conn.Close();
                   clsConnection.conn.Open();
                   try
                   {
                        using (SqlDataReader dr = cm.ExecuteReader())
                        {
                            if (dr.Read())
                            {
                                 //puni svoje TextBox-ove
                            }
                            else
                           {
                                MessageBox.Show("Search data isn't available.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                    }
                    catch
                    {
                        MessageBox.Show("Incorrect data value.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch
                {
                    MessageBox.Show("Connection to the database is broken.", "System Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }


//ovaj deo koda ubacis u formu frmPretraga u dogadjaj ListView1_MouseDoubleClick
        
        private void ListView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
             int a = ListView1.CurrentRow.Index;
             id = int.Parse(ListView1["ID", a].Value.ToString());
             this.Close();
             this.DialogResult = DialogResult.OK;
        }



I to bi trebalo da bude to :-)
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 31.03.2011. u 09:11 · pre 189 meseci #7
Ako hoćeš da proslediš direktno neke podatke iz form-a u form, bez pozivanja SQL-a probaj ovo:
- Iz prvog form-a otvaraš drugi pomoću
Code:

        Form1 f = new Form1(this);
        f.ShowDialog();

Obrati pažnju na "this". To znači da u inicijalizaciji drugog form-a imaš
Code:

        Form roditelj;
        public Form1(Form frm)
        {
            InitializeComponent();
            roditelj = frm;
        }

U prvom formu, takođe treba da imaš public metodu koja prihvata neke podatke
Code:

        public void UpisiIzChilda(string vrednostIzChilda)
        {
            textBox1.Text = vrednostIzChilda;
        }

Ova metoda se iz child-a izvršava sa
Code:

        private void button1_Click(object sender, EventArgs e)
        {
            ((GlavniProzor)roditelj).UpisiIzChilda(textBox1.Text);
        }
Re: Listview Double Click i popunjavanje TextBox-ova - Problem 31.03.2011. u 09:31 · pre 189 meseci #8
Napravi event za ListView na frmPretraga za MouseDoubleClick i:

Code (vbnet):

Private Sub ListView1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
        frmProgram.TextBox1.Text = ListView1.SelectedItems(0).SubItems(0).Text
        frmProgram.TextBox2.Text = ListView1.SelectedItems(0).SubItems(1).Text
        frmProgram.TextBox3.Text = ListView1.SelectedItems(0).SubItems(2).Text
        frmProgram.Show()
    End Sub
 
Potpis
"Ne menjaj nesto sto te sasvim dobro sluzi, ne trazi leba preko pogace" - Aleksandar Andrijevic
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme