Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

datagridviewde seçilen elemanı başka Formda gösterme ve güncelleme

Merhabalar Arkadaşlar ;

İki adet formum var Form1 ve Form2. Form1 de bir buton (adı btnMusteriDuzenle) ve datagridview1 var. ve Form2 de sadece 3 textbox bulunmakta.

Form2 benim Duzenle ekranım.Form1'deki btnMusteriDuzenle'ye bastığımda datagridviewdeki seçili herhangi bir satırdaki elemanları önce Form2 textboxlarında gösterip ondan sonra update işlemi yapmak istiyorum. (Not : bu bir ado.net projesidir)Ben biraz yapmaya çalıştım ama tam olarak çalışmıyor.

// Form1

 public string mno ;
        public int satir;
        private void btnMusteriDuzenle_Click(object sender, EventArgs e)
        {
            for (satir = 0; satir < dataGridView1.Rows.Count; satir++)
            {
                if (dataGridView1.Rows[satir].Cells[0].Selected == true || dataGridView1.Rows[satir].Cells[1].Selected == true || dataGridView1.Rows[satir].Cells[2].Selected == true || dataGridView1.Rows[satir].Cells[3].Selected
 == true || dataGridView1.Rows[satir].Cells[4].Selected == true)
                {
                    break;
                }
            }
            mno = dataGridView1.Rows[satir].Cells[0].Value.ToString(); //DataGridView1.rows[row].Cells[0].Value.ToString();  
            MusteriDuzenle musteriDuzenle = new MusteriDuzenle();
            musteriDuzenle.Show();
        }


// FORM2

        public Anasayfa ana;
        private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = ana.dataGridView1.Rows[ana.satir].Cells[0].Value.ToString();
            textBox2.Text = ana.dataGridView1.Rows[ana.satir].Cells[1].Value.ToString();
            textBox3.Text = ana.dataGridView1.Rows[ana.satir].Cells[2].Value.ToString();
            textBox4.Text = ana.dataGridView1.Rows[ana.satir].Cells[3].Value.ToString();
            textBox5.Text = ana.dataGridView1.Rows[ana.satir].Cells[4].Value.ToString();
            textBox6.Text = ana.dataGridView1.Rows[ana.satir].Cells[5].Value.ToString();
            textBox7.Text = ana.dataGridView1.Rows[ana.satir].Cells[6].Value.ToString();
        }


Şu anda NullReferenceException hatası alıyorum..Yardımlarınız bekliyorum.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • huseyn adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    42 cevap - 0 soru
    bu yaklaşım çok doğru değil. iş görür ama böyle problemlerle karşılaşmakta kaçınılmazdır. yapacaklarınızın sırasıyla şöyle olması lazım:

    -Kullanıcı btnMusteriDuzenle ye basınca ilgili kaydı temsil eden bir key(bu veritabanındaki id olabilir) i almanız lazım.
    -form2 ye bu id yi göndermeniz lazım. form2 açıldığında bu id ye ait bilgileri veritabanından sorgulayıp textbox ta göstermesi lazım.
    -form2 de güncelleme işlemi yaptıktan ve form2 kapattıktan sonra form1 deki gridview ın datasource unu yenileyip, güncel kayıtları göstermeniz lazım.

    bu şekilde yaparsanız güncelleme için tasarladığınız form2 yi başka yerlerde de kullanabilir ve hata yı en aza indirmiş olursunuz.