İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
Mustafa Kemal Atatürk

Cumhuriyetimizin kurucusu Gazi Mustafa Kemal Atatürk'ü vefatının 88. yılında saygı ve özlemle anıyoruz.Gazi Mustafa Kemal Atatürk'ü saygı ve özlemle anıyoruz.Atatürk'ü saygı ve özlemle anıyoruz.

  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

2 selectionchanged olayi arasi loop peydah oluyor

Konu bilgisi

3cevap
1.177görüntüleme
24.04.2013açıldı
29.04.2013son cevap

#1
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            
            int a = Int32.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString()); ;

            Takip tkp = new Takip();
            DataSet ds2 = new DataSet();
            ds2 = tkp.Get(a);
            dataGridView2.DataSource = ds2.Tables[0];

            textBox1.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textBox2.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            textBox3.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            textBox4.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();

        }

        private void dataGridView2_SelectionChanged(object sender, EventArgs e)
        {

            textBox1.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textBox2.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            textBox3.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            textBox4.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();

        }


Paslasan 2 kod blogu bunlar. OZet geceyim. Veritabanindan datagridview1 e veri cekiyorum. Bu veriye bagli olarak da secilen satira bagli veriyi cekip datagridview2 ye atiyorum. Textboxlar da bu gridviewlerin yaninda secilen satirdaki verileri kolay editlemek icin bos textboxlara yazdiriyorum. Ama bu iki selectionchanged birbiriyle paslasiyor durmadan. Currentrow ozelligine erisince yine selectionchanged olayi tetikleniyor herhalde. Bir cozum lazim bana kolaydir ama beynim yandi suan. Simdiden tesekkurler
Cevaplar
Misafir
#2
Cevaplayacak babayigit yok mu?
#3
Aynı textboxları iki yerde set ediyorsun. ilk eventResulttakileri silmelisin. Ayrıca textBox change olayında bişeyler yapıyor musun? gridde başka satır seçmek gibi?
#4
GridView1den seçim yapmana rağmen Textboxlara 2. Griddenden de atama yapmışsın..Aynısı GridView2 için de geçerli..

Açılışta 1. Gridde bir satır seçersen ancak o zaman 2. Grid dolacaktır. Fakat 2. Grid yeni dolduğundan, henüz seçili bir satıra sahip olmayacak....yani 2. gridde seçili eleman değerinin boş olması lazım. GridView1 in indexChange indeki TextBox4 dolmamalı diye düşünüyorum..
Aynı durum GridView2 in selected index inde sözkonusu değil... Orada 2. Grid seçili iken 1. Gridde de bir seçili satır bulunabilir ama yine de o kısımda TextBox1,2 ve 3 ü grid1 den alman mantıklı gelmedi bana...

Belki de ben yanılıyorum ama şu anda gözüme çarpan ilk hatalı olabilecek kısım bu gibi geldi... Sanki şöyle olmalı.. İlk gridden seçimi yap..Sonra otomatik olarak 2. grid dolsun. Ordan da seçim yap ve her seçimde sadece son seçilen gridin satırı textboxlara yansısın...

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{

int a = Int32.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString()); ;

Takip tkp = new Takip();
DataSet ds2 = new DataSet();
ds2 = tkp.Get(a);
dataGridView2.DataSource = ds2.Tables[0];

textBox1.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textBox2.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
textBox3.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
textBox4.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

}

private
void dataGridView2_SelectionChanged(object sender, EventArgs e)
{

textBox1.Text = dataGridView2.CurrentRow.Cells[2].Value.ToString();
textBox2.Text = dataGridView2.CurrentRow.Cells[3].Value.ToString();
textBox3.Text = dataGridView2.CurrentRow.Cells[4].Value.ToString();
textBox4.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();

}

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam