Kod: Tümünü seç
const
MaxListColorCount = 17;
ListColors: array[0..MaxListColorCount - 1] of TColor =
(clDefault, // 0
clBlack, // 1
clMaroon, // 2
clGreen, // 3
clOlive, // 4
clNavy, // 5
clPurple, // 6
clTeal, // 7
clGray, // 8
clSilver, // 9
clRed, // 10
clLime, // 11
clYellow, // 12
clBlue, // 13
clFuchsia, // 14
clAqua, // 15
clWhite); // 16
Kod: Tümünü seç
procedure TfrmXGrid.FormCreate(Sender: TObject);
begin
inherited;
FdtsTempGrid:= TpFIBDataSet.Create(nil);
with FdtsTempGrid do
begin
Database := dtm.dtb;
close;
SQLs.SelectSQL.Clear;
SQLs.SelectSQL.Text := dtsGrid.SelectSQL.Text;
Open;
end;
// FdtsTempGrid := dtsGrid;
FRowColorEvaluator := TQREvaluator.Create;
FRowColorEvaluator.DataSets.Add(FdtsTempGrid); //Burada ikinci database kullanmamın amacı cxin draw celli dataları dökerken dataset i dbgrid gibi çevirmemesinden kaynaklanıyor TQREvaluator clasına adatığım dataset bir nevi Ali Cengiz yapmak için kullandım
end;
Kod: Tümünü seç
procedure TfrmXGrid.cxViewCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
//Yazar : husonet
//Tarih : 20.04.2007
//Ad Soyad : Hüseyin Özdemir.
var
ABetColor: integer;
AColor: TColor;
begin
inherited;
AColor := ACanvas.Brush.Color;
// if vartostr(AViewInfo.GridRecord.Values[AViewInfo.Item.Index]) <> '' then
// if FdtsTempGrid.Locate(tcxGridDbColumn(AViewInfo.Item).DataBinding.FieldName, vartostr(AViewInfo.Value), [loCaseInsensitive, loPartialKey]) then
if FdtsTempGrid.Locate('ID', vartostr(AViewInfo.GridRecord.Values[0]), [loCaseInsensitive, loPartialKey]) then
begin
FRowColorEvaluator.Prepare('if((ADI = ''YDA'') and (KODU = ''fgtyv''),3,0)');
if FRowColorEvaluator.Prepared then
begin
try
ABetColor := FRowColorEvaluator.AsInteger;
if (ABetColor > 0) and (ABetColor < MaxListColorCount) then
begin
AColor := ListColors[ABetColor];
end;
except
end;
end;
end;
ACanvas.Brush.Color := AColor;
end;
QRExpr
Kolay Gelsin...