delphi ehlib 5.6版本数据行设置颜色方法
ehlib以前的版本的代码在5.6后好些不能兼容运行了,因为是直接从ehlib3.0跳到ehlib5.6,以前使用过几天因为一些原因没用,最近使用的时候发现在设置数据行颜色的时候不能设置了,以前的代码不能编译了。主要是这句 suiScan.DefaultDrawColumnCell(Rect, DataCol, Column, State);
不能在
procedure TfrmPandian.suiScanDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
里面编译运行了。
[解决办法]
procedure TfrmMain.sdbgfRQFormDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if (Column.FieldName = 'ReceiveFlag') then
begin
if
Trim(TDBGridEh(Sender).DataSource.DataSet.FieldByName('ReceiveFlag').AsString
) = '已核收' then
begin
TDBGridEh(Sender).Canvas.Brush.Color := clGreen;
TDBGridEh(Sender).Canvas.Font.Color := clWhite;
TDBGridEh(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
if
Trim(TDBGridEh(Sender).DataSource.DataSet.FieldByName('ReceiveFlag').AsString
) = '未采样' then
begin
TDBGridEh(Sender).Canvas.Brush.Color := clRed;
TDBGridEh(Sender).Canvas.Font.Color := clWhite;
TDBGridEh(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;