procedure TSALES_RECORD_AUDIT_BETA_FORMDOC.DataGridSALES_RECORD_AUDIT_DTCustomDrawCell(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 := $0FFF4E6;
if DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.Active then
begin
if (Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('MODIFY_DATE').OldValue) <> Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('MODIFY_DATE').Value)) or (Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('STATUS').OldValue) <> Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('STATUS').Value)) then
AColor := $062E75A;
end;
end;
当我 注释掉 这句代码时 if DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.Active then
begin
if (Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('MODIFY_DATE').OldValue) <> Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('MODIFY_DATE').Value)) or (Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('STATUS').OldValue) <> Business.System.Variants.VarToStr(DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.FieldByName('STATUS').Value)) then
AColor := $062E75A;
end;
不出现这样的情况 但我又必须要这句代码 不知道应该怎么代替 还是 避免出这样的错呀?