2012-06-29 18 views
6

40 sütun içeren bir devexpress xtragrid var. Her hücre değerini diğerleriyle karşılaştırıyorum ve farklıysa, hücre arka plan rengini değiştirmek istiyorum. GridViewInfo ile çalışıyorum ama sadece ekranda görünen sütunları alır.Ama tüm sütunlar için yapmak istiyorum. (RowCellStyle ile değil) Bunun için bir çözüm var mı? Teşekkür ederiz!Devexpress Grid'deki hücrenin arka plan rengi nasıl değiştirilir?

cevap

4

xtragrid'inizin RowStyle olayına kancalayın.

private void maintainDataControl_RowStyle(object sender, RowStyleEventArgs e) 
{ 
    if (e.RowHandle >= 0) 
    { 
     GridView view = sender as GridView; 

     // Some condition 
     if((string)view.GetRowCellValue(
      e.RowHandle, view.Columns["SomeRow"]).Equals("Some Value")) 
     { 
      e.Appearance.BackColor = Color.Green; 
     } 
    } 
} 
+0

karşılaştırmak işlevi ben RowStyle olay çağırabilir dan bahsederler bir düğmeye mi? – Lavy

+0

Düğme tıklama etkinliğinde bunu yapamazsınız. "RowStyle" veya "CustomDrawCell" işlemlerini yapmalısınız. onların durumunu orada koymak ve basitçe düğme üzerindeki bu veri değişiklikleri yaptıktan sonra ızgara geçersiz kıl .. –

+0

Ben yardım için RowCellStyle.Thanks ile yaptım! :) – Lavy

5

Sen CustomDrawCell sizin GridView işlemek gerekir, burada bir başka sütun valoe dayalı Ad sütununda rengini değiştirmek kod kesik, (yaş sütun)

private void gridView_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e) 
    { 
     if (e.Column == colName) 
     { 
      var age = Convert.ToInt32(gridView.GetRowCellValue(e.RowHandle, colAge)); 
      if (age < 18) 
       e.Appearance.BackColor = Color.FromArgb(0xFE, 0xDF, 0x98); 
      else 
       e.Appearance.BackColor = Color.FromArgb(0xD2, 0xFD, 0x91); 
     } 
    } 
olduğunu

İyi şanslar

İlgili konular