Bu ufak makalede Devexpress XtraGrid kullanırken bir satırın arkaplan rengini nasıl değiştirildiğini öğrenebilirsiniz. Aynı yöntemi kullanarak hücrelerin (Cell) arkaplan rengini de değiştirebilirsiniz.
Devexpress XtraGrid kullanırken satırın arkaplan rengini değiştirmek, klasik yöntemler gibi değil. Mesela windowsun normal componentlerinde bu işlemi direkt rowbacground propertysi ile yaparken devexpresste bunu bir metod içerisine gömmüşler. Yani XtraGrid kod tarafında oluşturulurken, yazılan CustomDrawCell diye bir metod içerisine yazdığımız kodlarla bir satırın arkaplanını değiştirebiliyoruz. Metodun tamamını ekliyorum. Siz de XtraGridlerdeki satır backgroundlarını kullanırken bu işlemi yapabilirsiniz. İşte o metod:
private void gvMusteriListesi_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
bool hizmet = ((Musteri)gvMusteriListesi.GetRow(e.RowHandle)).HizmetEkliMi;
if (!hizmet)
e.Appearance.BackColor = Color.LightGray;
}
Buradaki işlemi kısaca anlatacak olursak: Projemiz çalıştığında XtraGrid oluşurken her satır oluştuğunda e.RowHandle ile o andaki satırın indexini alıyor. Yani 1. satır oluşuyorsa o satırı alıyorum ve Musteri nesneme cast ediyorum. Daha sonra Musteri nesnemin HizmetEkliMi propertysine bakıp eğer true değil ise o satırın arkaplanını gri renge boyuyorum. Hepsi bu kadar.