在DataGrid 的 OnCustomDrawCell 事件:
----------------------------------------------------------------------
procedure TTMPKYDISPATCHLOGLIST.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 not(ASelected or AFocused) and ((ANode.Index mod 2)=1) then
AColor := $EAEAEA;
//判断记录类型为提醒注意、闭环跟踪且状态为新建、修改的高亮显示;其他的普通显示
if (InfoBroker.Info.DataSetByID('tmpKYDispatchlog').FieldByName('FRecType').AsString = '2') and
(InfoBroker.Info.DataSetByID('tmpKYDispatchlog').FieldByName('FStatus').asstring<>'3') then
begin
AColor := Graphics.clBlue;
AFont.Color := Graphics.clRed;
end
else
if (InfoBroker.Info.DataSetByID('tmpKYDispatchlog').FieldByName('FRecType').AsString = '3') and
(InfoBroker.Info.DataSetByID('tmpKYDispatchlog').FieldByName('FStatus').asstring<>'3') then
begin
AColor := Graphics.clRed; //数据记录背景颜色
AFont.Color := Graphics.clBlue; //数据记录字体颜色
end;
// AColumn.Color := Graphics.clRed;
end;