procedure TREPORTLIST.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
if qryData.FieldByName('SCSL').AsString=qryData.FieldByName('RKSL').AsString then
begin
AFont.Color:=Graphics.clBlue;
AColor := $CCFFFF;
end;
end;
必须判断datagrid的数据源的字段值。已经测试了,以下代码没问题。
if DataSetBrokerBZSJJ1.dataset.FieldByName('zd1').AsString=DataSetBrokerBZSJJ1.dataset.FieldByName('zd2').AsString then
begin
AFont.Color:=Graphics.clBlue;
AColor := $CCFFFF;
end;
procedure TSJWG1.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
{if DataSetBrokerBZSJJ1.dataset.FieldByName('zd1').AsString=DataSetBrokerBZSJJ1.dataset.FieldByName('zd2').AsString then
begin
AFont.Color:=Graphics.clBlue;
AColor := $CCFFFF;
end; }
if Query1.FieldByName('zd1').AsString=Query1.FieldByName('zd2').AsString then
begin
AFont.Color:=Graphics.clBlue;
AColor := $CCFFFF;
end;
end;