Forum
Merhaba Arkadaşlar;
c# datagridview'de KODU , AÇIKLAMA , DURUMU , SONUÇ alanları var. Ben KODU , AÇIKLAMA , DURUMU alanının herhangi birine bir değer girip alt satıra geçtiğimde SONUÇ kısmına Tamamlandı nasıl yazdırabilirim acaba?
Teşekkür ederim.
Event'lar üzerinden CellValueChanged event'ı ile yapabilirsiniz.
Merhaba Uğur bey;
CellValueChanged kısmına aşağıdaki gibi 1. hücreye yazdığımda 5. hücreye kullanıcıyı yazmak istiyorum fakat gelmiyor. Nerede hata yapıyorum acaba?
Teşekkür ederim.
for (int i = 0; i < dataGridView.Rows.Count - 1; i++)
{
if (dataGridView.Rows[i].Cells[0].Value!=string.Empty)
{
dataGridView.Rows[i].Cells[5].Value = s.kullanici.ToString().Trim();
}
}
Yıldırım Bey, tam olarak kullanıcı adını ne şekilde almaya çalıştığınızı ve hangi row'a veriyi yazmak istediğinizi anlayamadım. Kendimce şu şekilde düşünerek, devamında da sizin kodu çeşitlendirebileceğinizi düşünüyorum. Olmaz ise yine sorarsınız tabii.
Öncelik olarak row'lar arasında neden "for döngüsü" ile geziyorsunuz? Her "i" değerine bu kullanıcı adını yazmak mı istiyorsunuz yoksa yazdığınız hücreye, yani hangi hücrede değişiklik yapıyorsanız o hücrenin mi 5. sütununa kullanıcı adı yazmak istiyorsunuz? Değişiklik yapılan satıra müdahale etmek istiyorsunuz "for döngüsü" kullanmanıza gerek olmadığını düşünüyorum.
Değişiklik yapılan birinci satırın kullanıcı adı bölümüne aşağıdaki kod ile kullanıcı adı yazdırabilirsiniz. Cell index'ini siz 5 yaptığınız için 5 yaptım. Event ile gelen e'den de row index'ini yakalıyorum. Aslında her satırdaki veriyi "entity" olarak alıp, "class" ve "datasource" mantığı ile de veri atama ve veri okuma yapabilirsiniz ama sanırım projenizde 1 - 2 tık daha ileri seviye olmuş olacak. Basit olarak aşağıdaki şekilde yapabilirsiniz.
dataGridView.Rows[e.RowIndex].Cells[5].Value = "Kullanıcı Adı";
@ugurduzla Uğur bey;
Çok teşekkür ederim. İstediğim gibi oldu. For döngüsünü her satırı atladığımda kullanıcıyı yazsın diye kullandım.