23 Haziran 2014 Pazartesi

Delphi CxGrid koşula göre hücre renklendirme işlemi

Herkese iyi çalışmalar..
Son zamanlarda dikkatime takılan bu konunun bir çok yerde sorulması ve parça parça cevaplar verilmesinden dolayı tek bir başlıkta ayrıntılı anlatmak istedim bu olayı.


Başlıktan da anlaşıldığı gibi satır renklendirme değil çoğu arkadaşımızın kullandığı hücre renklendirme olayından bahsedeceğiz.

İlk olarak hangi sütunumuzda bu hücre renklendirme olayını gerçekleştireceksek o sütuna tıklayıp "EVENTS" bölümünden "OnCustomDrawCell" bölümüne çift tıklayarak kod kısmına geçiyoruz ve başlıyoruz.

if AViewInfo.GridRecord.Values[Buraya koşulun aranacak olduğu sütunun index değeri] = 'Virman' then
begin
ACanvas.Brush.Color := clRed; //Burası koşulumuz sağlanırsa hücre içerisinin arka plan rengi
ACanvas.Font.Color := clWhite;//Burası koşulumuz sağlanırsa hücre içerisinin yazı rengi
end;
Yukarıdaki örnekte 1 sütundaki string koşul var ise hücre biçimlendirmeyi yaptık şimdiki küçük canlı örneğimizde rengarenk hücreleri yapacağız.


if AViewInfo.GridRecord.Values[BankaHareketTabloQryBAS.Index] = 'Borç' then
begin
ACanvas.Brush.Color := clRed;
ACanvas.Font.Color := clWhite;
end
else if AViewInfo.GridRecord.Values[BankaHareketTabloQryBAS.Index] = 'Alacak' then
begin

ACanvas.Brush.Color := clGreen;
ACanvas.Font.Color := clWhite;

end

else if AViewInfo.GridRecord.Values[BankaHareketTabloQryBAS.Index] = 'Sıfır' then
begin

ACanvas.Brush.Color := $0080A9FF;
ACanvas.Font.Color := clBlack;

end;

Hiç yorum yok:

Yorum Gönder