Cxgrid Kolon Rengi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Cxgrid Kolon Rengi

Mesaj gönderen hasan »

Arkadaşlar aşağıda CxGrdidin OnCustomDrawCell olayına yazdığım kodla istediğim bir kolonun font rengini ayarlayabiliyorum.Ama istediğim o kolondaki bir değere göre rengini ayarlamayı bi türlü beceremedim.Örnek olarak Vadesi alanındaki tarih bugünden küçükse o satırların rengi kırmızı olsun... bu konuda yardımcı olacak arkadaşlara teşekkür ederim.Kolay Gelsin

Kod: Tümünü seç

 
[with GridDBTableView do]
    if Columns[VADESI.Index] = AViewInfo.Item) then
        ACanvas.Font.Color := clRed
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bir tane TcxStyleRepository koy ve yeni bir sitil ekleyip, rengini, fontunu vs. ayarla.

Daha sonra View'ın OnGetContentStyle olayına aşağıdakine benzer kodunu yaz. Bu email boşsa "cxStyleNullEmail" sitilini atıyor.

Kod: Tümünü seç

procedure TForm1.cxGrid1DBTableView1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
  AColumn: TcxCustomGridTableItem;
begin
  AColumn := (Sender as TcxGridDBTableView).GetColumnByFieldName('Email');
  if VarToStr(ARecord.Values[AColumn.Index]) = '' then
    AStyle := cxStyleNullEmail;
end;
Kolay gelsin.
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Mesaj gönderen hasan »

[code]

with GridDBTableView do
if Columns[VADESI.Index] = AViewInfo.Item) then
IF AViewInfo.DisplayValue< ' VADESI ' Then
ACanvas.Font.Color := clRed

[/code]

display value özelliğini de kullanılılarak yapılabiliyormuş arkadaşlar.denemedim ama sanırım çalışması gerekiyor.Yardım eden herkese Teşekkürler...
Cevapla