DoubleW Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int deger = this.GridView1.SelectedIndex; this.TextBox1.Text = this.GridView1.Rows[deger].Cells[1].Text; Selamlar , ben hemen soruna geçim: gridview ta 1.seçimi yaptıktan sonra textbox1 e aktarıyoruz yukarıdaki kodlarla fakat 2.seçimide textbox2 ye almak istiyoruz , bunu yaparken hala 1.seçimi 2.ye atıyo.Bu sorunu nasıl çözücez? yardımcı olabilir misiniz? }
nameless Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 kodu tam yazabilir misin? datagridview baya sorunlu bir sınıf aslında. yüz takla etmek gerekiyor uğraşırken, hele wpf ile kullanıyosan intiharlık
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int deger = this.GridView1.SelectedIndex; this.TextBox1.Text = this.GridView1.Rows[deger].Cells[1].Text; int deger2 = this.GridView1.SelectedIndex; this.TextBox2.Text = this.GridView1.Rows[deger2].Cells[1].Text; } ana kodlar bu sekilde fakat ikinci tiklamayi yaptigimizdada yine iki textbox'a birden degeri atiyor.bizim yapmak istedigimiz birinci tikta textbox1'e ikincide texbox2'ye aktarmak secilen degeri.
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 Şöyle bişey yapmalısın o istediğin için: kodun dışında classın içine int counter = 0; kodun içi de böyle: protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int deger = this.GridView1.SelectedIndex; if(counter==0){ this.TextBox1.Text = this.GridView1.Rows[deger].Cells[1].Text; counter = 1;} else if(counter==1){ this.TextBox2.Text = this.GridView1.Rows[deger2].Cells[1].Text; counter = 0;} } Böyle yapınca bi tıkta birinciye koycak, diğer tıkta 2.ye, sonraki tıkta yine 1.ye.
nameless Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 çok büyük dalgınlık yapmışsın. protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int deger = this.GridView1.SelectedIndex; this.TextBox1.Text = this.GridView1.Rows[deger].Cells[1].Text; // aynılar int deger2 = this.GridView1.SelectedIndex; this.TextBox2.Text = this.GridView1.Rows[deger2].Cells[1].Text; } zaten index değişince ateşlenen bir event. o anda index neyse iki textbox'ta da aynı şeyin yazmasının nedeni bu. yani yazdığın kodun ilk iki satırı ve son iki satırı da zaten aynı işlemi yapıyor
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 elbarto; ikinci if'in icinde deger2 adinda bir degisken var tanimlanan sadece deger degiskeni var deger2'yi tanimlayarak yaptik fakat yine olmadi tekrar kontrol edip yazabilirmisin
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 Pardon deger2 yerine de deger yazarsaniz sadece çalışır. (yani sanırım :) )
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 nameles; bizde farkettik event tekrarlaniyor fakat cozumu bulamadik :)
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 elbarto; denedik ama yine olmadi sadece txtbox1'e aktariyor
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 int counter = 0; Bunu methodun içine koymadınız dimi? Dışında olucak methodun bu, yoksa hep aynı şeyi tekrarlar.
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 hayır koymadik.classin basinda tanimliadik fakat yine olmadi
nameless Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 el-barto'nun yazdığının çalışması lazım mantıken. çalışmamasının nedeni de index değişmemesi anlayacağın gibi eheh
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 Bu seçimleri tek tek mi yapıyorsunuz, yoksa multiple falanmı. Açıkçası ben gridview kullanmıyorum, o yüzden bişeyleri atlıyo olabilirim ama yazdığıma bakıyorum ve bi yanlış göremedim. Başkası bakıp incelesin bi belki bulur hatayı.
DoubleW Mesaj tarihi: Nisan 13, 2010 Konuyu açan Mesaj tarihi: Nisan 13, 2010 hayir tektek yapiyoruz fakat yine calismiyor
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 İkinci seçtiğiniz de textbox1'e mi aktarılıyo yoksa hiçbişey mi olmuyo?
El-Barto Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 O zaman counter değiştirilmiyo ya. Ordaki counter=1; yerli yerinde duruyomu eminmisiniz? Yukardaki counter=0; da pageload içinde falan olmasın.
Kojiroh Mesaj tarihi: Nisan 13, 2010 Mesaj tarihi: Nisan 13, 2010 Bi tane bool tutun classta. selectSwitch olsun mesela adı. Sonra her tıklayışta değiştirin bunun değerini. Hangi textbox'a yazılacağını da bu switch belirlesin. Mesela; private bool selectSwitch = true; ... protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { if(this.GridView1.SelectedRows.Count < 1) return; if(selectSwitch) this.TextBox1.Text = this.GridView1.SelectedRows[0].Cells[1].Value.ToString(); else this.TextBox2.Text = this.GridView1.SelectedRows[0].Cells[1].Value.ToString(); selectSwitch = !selectSwitch; }
Darti Mesaj tarihi: Nisan 16, 2010 Mesaj tarihi: Nisan 16, 2010 Bu proje Web mi yoksa Windows mu GridView i genelde Web de kullanıyoruzda biz.Eger Web Projesi ise Globaldeki degisken tutmak icin ViewState e atman lazım.. Windows Projesi ise Kojiroh un yazdıgı code lar calısıyor.DataGridView de denedim gerci gridview kontrol u bende defaultta yok. private bool selectSwitch = true; private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (dataGridView1.SelectedRows.Count < 1) return; if (selectSwitch) { textBox1.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); textBox2.Text = ""; selectSwitch = false; } else { textBox2.Text = this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); textBox1.Text = ""; selectSwitch = true; } }
Öne çıkan mesajlar