Forum
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 :(((
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
yani .net framework 4 yüklemem gerekiyor
Teşekkürler....
.Net 4 yükledim ama gene hata verdi 🙁
neden???
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.
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?
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.
"_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
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.
Çok teşekkür ederim yardımlarınız için Turgay Bey...
Ç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.
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