Development Experience

Saturday, May 1, 2010

DataGridView Change Row Color - Satır rengini değiştirme


DataGridView'de bir satırda bulunan bir hücrenin değerine göre satırın rengini değiştirmek istiyoruzdiyelim..

Öncelikle bir make_red() fonksiyonu yazıyoruz..

private void make_red()
{
foreach (DataGridViewRow satir in dataGridView1.Rows)
{
if (satir.Cells[5].Value.ToString() == "1")
{
satir.DefaultCellStyle.BackColor = Color.Red;
}
}

}

Yukarıdaki fonksiyon datagrid deki tüm satırları tarıyor ve 6. hücresindeki (ilk hücre sıfır)stringin 1 olduğu hücrelerin arka plan rengini 1 yapıyor..

Aslında burada bir sorun yok. Sorun şurada ortaya çıkıyor bu fonksiyon form load olduktan sonra direk çalıştırılamıyor malesef :(

Çözüm: Databind olayı bittikten sonra bu fonksiyonu çağırmak..

private void dataGridView1_DataBindingComplete(object sender,DataGridViewBindingCompleteEventArgs e)
{
make_red();
}

2 comments:

  1. Gerçekten çok faydalı olmuş , daha önceleri yapıyodum fakat her seferinde nasıl yaptıgımı tam olarak hatırlamıyodum , artık unuttukça bakıcak bi yer var :) Kendi bloguma da alıyorum müsadenle ; iyi çalışmalar ;)

    ReplyDelete
  2. Nesne başvurusu bir nesnenin örneğine ayarlanmadı.

    ReplyDelete