Forum

DataGrid de bulunan...
 
Bildirimler
Hepsini Temizle

DataGrid de bulunan bilgileri Textboxlar'a Çekme

12 Yazılar
3 Üyeler
0 Reactions
971 Görüntüleme
(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Arkadaşlar Tablomda(datagridimde) 3 kolon var "Adı,babaAdi,yaş"

ben bu 2 bilgiyi textboxlarıma ve 1 numericupdown uma çekmek istiyorum 

datagridin  *_CurrentCellChanged kısmına kodlarımı yazıyorum

 

txtName.Text = DataGrid1[DataGrid1.CurrentRow.Index.ToString(),1].ToString();

            txtParentName.Text = DataGrid1 [DataGrid1.CurrentRow.Index.ToString(), 2].ToString();

            numaricUpDownAge.Text = DataGrid1 [DataGrid1.CurrentRow.Index, 3].ToString(); 

 Ama başta hata göstermiyor

form1 den bu kodlarımın bulundugu formu çağırdıgımda 2. satırda bi hata gösteriyor

neyi yanlış yapıyorum?

Not: bazı kaynaklarda "CurrentRowIndex"  die bir kod var ama bu kod bende yok :(((

 
Gönderildi : 11/11/2010 23:46

(@rahmidilli)
Gönderiler: 2458
Famed Member
 

Arkadaşlar Tablomda(datagridimde) 3 kolon var "Adı,babaAdi,yaş"

ben bu 2 bilgiyi textboxlarıma ve 1 numericupdown uma çekmek istiyorum 

datagridin  *_CurrentCellChanged kısmına kodlarımı yazıyorum

 

txtName.Text = DataGrid1[DataGrid1.CurrentRow.Index.ToString(),1].ToString();

            txtParentName.Text = DataGrid1 [DataGrid1.CurrentRow.Index.ToString(), 2].ToString();

            numaricUpDownAge.Text = DataGrid1 [DataGrid1.CurrentRow.Index, 3].ToString(); 

 Ama başta hata göstermiyor

form1 den bu kodlarımın bulundugu formu çağırdıgımda 2. satırda bi hata gösteriyor

neyi yanlış yapıyorum?

Not: bazı kaynaklarda "CurrentRowIndex"  die bir kod var ama bu kod bende yok :(((

Merhabalar,

Bahsettiğiniz kod .net framework 4 altında görünüyor.

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagrid.currentrowindex.aspx

 
Gönderildi : 12/11/2010 02:48

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

yani .net framework 4 yüklemem gerekiyor

Teşekkürler.... 

 
Gönderildi : 12/11/2010 03:42

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

.Net 4 yükledim ama gene hata verdi 🙁

neden??? 

 
Gönderildi : 12/11/2010 04:25

(@TurgayACAR)
Gönderiler: 6
Active Member
 

Arkadaşlar Tablomda(datagridimde) 3 kolon var "Adı,babaAdi,yaş"

ben bu 2 bilgiyi textboxlarıma ve 1 numericupdown uma çekmek istiyorum 

datagridin  *_CurrentCellChanged kısmına kodlarımı yazıyorum

 

txtName.Text = DataGrid1[DataGrid1.CurrentRow.Index.ToString(),1].ToString();

            txtParentName.Text = DataGrid1 [DataGrid1.CurrentRow.Index.ToString(), 2].ToString();

            numaricUpDownAge.Text = DataGrid1 [DataGrid1.CurrentRow.Index, 3].ToString(); 

 Ama başta hata göstermiyor

form1 den bu kodlarımın bulundugu formu çağırdıgımda 2. satırda bi hata gösteriyor

neyi yanlış yapıyorum?

Not: bazı kaynaklarda "CurrentRowIndex"  die bir kod var ama bu kod bende yok :(((

 

 

 txtName.Text = DataGrid1["Adı",DataGrid1.CurrentRow.Index].Value.ToString();

 

Bu şekilde deneyebilirmisin  bu şekilde olacaktır. 

Brid içindeki  sütunun adını string olarak yazman gereklidir.  Fakat  ggridin sütununda ne ise o olmalıdır. indexlemene gerek yoktur. 

 
Gönderildi : 12/11/2010 16:22

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Turgay bey ben olayı tam olarak kavrayamadım bu yüzden bi kaç sorum olacak yanıtlarsanız sevinirim

1)ben bu kodları datagridwievin "_CurrentCellChanged" olayına yazınca hata veriyor neden? 

2)_CellClick olayına yazınca problem yok ama

2 farklı şekilde istediğim sonucu elde ediyorum ama bu 2 farklı kod dizininin araasındaki fark nedir bilmiyorum 

1.Kod dizilimi

txtStudentName.Text = DataGridWiew.Rows[DataGridWiew.CurrentRow.Index].Cells["fullname"].Value.ToString();

txtParentName.Text = DataGridWiew.Rows[DataGridWiew.CurrentRow.Index].Cells["parentname"].Value.ToString();

txtStudentAge.Text = DataGridWiew.Rows[DataGridWiew.CurrentRow.Index].Cells["age"].Value.ToString(); 

  2.Kod dizilimi

 txtStudentName.Text = DataGridWiew["fullname", DataGridWiew.CurrentRow.Index].Value.ToString();

txtParentName.Text = DataGridWiew["parentname", DataGridWiew.CurrentRow.Index].Value.ToString();

txtStudentAge.Text = DataGridWiew["age", DataGridWiew.CurrentRow.Index].Value.ToString();

Bunların arasında ne fark var? 

 
Gönderildi : 12/11/2010 19:18

(@TurgayACAR)
Gönderiler: 6
Active Member
 

aslına bakarsanız işleyiş olarak bir fark yok ikiside aynı işi yapar ama 1.si biraz daha uzun yol.

  "_CurrentCellChanged" eventini ne için kullanıyorsunuz  ? daha doğru şekilde sorayım bunu nerede kullanıyorsunuz yani liste içinden seçmece mi yapıyorsunuz yoksa kodla flan mı bir yerden çağırıyorsunuz?  veri tek satır mı çok  satır mı bunlarıda bilince daha da sağlıklı olur.

 
Gönderildi : 12/11/2010 19:49

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

"_CurrentCellChanged" eventini ne için kullanıyorsunuz  ?

Aslına bakarsanız ben tam olarak bilmiyorum çünki ben bir örnek te textboxlara databaseden veri çağrılırken oluşturulan kodların  "_CurrentCellChanged" eventinde yazıldıgını gördüm işte bu yüzden başta bu eventi kullandım.çağırdığım veriler ad soyad yaş tek satırlık veri tiplerini formumdaki textboxlara atıyorum

ve ayrıca benim takip ettiğim örnekte

txtname=datagridwiev[datagridwiev.currentrowindex,1].tostring(); 

şeklinde bir kodlamaya vardım ama bende "currentrowindex" die bir kod olmadığı için güncelleşmiş veya değişmiş bir kod yapısı oldugunu düşündüm ve başka bir yol aramaya karar verdim.ezberlemek zor olamsa gerek ama mantığını anlamaya çalışıyorum "ne neden?"

Teşekkürler 

 
Gönderildi : 12/11/2010 20:24

(@TurgayACAR)
Gönderiler: 6
Active Member
 

anladım  o gördüğünüz örnekte zannedersem sizin amacınıza uygun olmayan bir durum söz konusu çünkü o eventin anlamı şu

"geçerli hüsrenin içeriği değiştiğinde"   şu işlemi yap diyor.
O yüzden sordum ne yapmak istiyorsunuz diye. Çünkü  amaca yönelik çalışmak zorundasınız. Örnek.

-veri tabanından datagride data çekiyorum fakat bu gridde istediğim bir satıra çift tıkladığımda o satıırdaki istediğim verileirn textboxlara gelmesini istiyorum ama beceremedim.  bu kodu kullanıyorum

txtname=datagridwiev[datagridwiev.currentrowindex,1].tostring(); 

 

ama bu kodda bana yamuk yaptı 🙂    gibi ....

 Çünkü gridden textboxa yada label lara atama işlemini ben uyuglamalarımda en aşağı 20 farklı çeşitte kullanıyorum. hal böyle olunca da amaca yönelik olarak değişmeler olabiliyor.

 

 

 

 

 
Gönderildi : 12/11/2010 20:51

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Çok teşekkür ederim yardımlarınız için Turgay Bey...

 
Gönderildi : 12/11/2010 21:24

(@rahmidilli)
Gönderiler: 2458
Famed Member
 

Çok teşekkür ederim yardımlarınız için Turgay Bey...

Netice olarak sonuca ulaştınız mı? Evet ise nasıl? Yazarsanız diğer arkadaşlarda ilerleyen zamanlarda faydalanır.

 
Gönderildi : 14/11/2010 02:55

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Aslına bakarsanız benim merak ettiğim şey "myDataGridView.CurrentRowIndex" komutunu neden kullanamadığımdı

Ben DataGridimde herhangi bir veriye ulaşmak için bu kodun kullanıldıgını düşündem ama hata verdiği için sormuştum

Halen bu kodu neden kullanamadığımı anlayamadım 😀 Ama önemli değil

Çünki amacıma ulaşmam için farklı yollarla aynı sonuca ulaşabilen 3 farklı yol öğrendim

1)myDataGridView[1, myDataGridView.CurrentRow.Index].Value.ToString();

2)myDataGridView.Rows[myDataGridView.CurrentRow.Index].Cells[1].Value.ToString());

3)myDataGridView[myDataGridView.CurrentRow.Index ,1].Value.ToString()); 

Turgay bey in dediğine göre çok fazla farklı yollarla ulaşılabiliyor

zamanla öğrenecez artak

Tekrar Teşekkürler 

 
Gönderildi : 14/11/2010 05:01

Paylaş: