Dbgrid 按条件 显示颜色(字段属日期时间型的会出错)解决思路

Dbgrid 按条件 显示颜色(字段属日期时间型的会出错)
如题。代码如下:
procedure TReport_info.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var tj: Boolean;
begin
{本模块:已打印的,显示黄色}
  inherited;
  with TMyCustomDBGrid(Sender) do
  begin
  tj:=DataLink.Fields[29].AsBoolean;
  if tj then
  Canvas.Brush.Color:=clYellow;
  Canvas.Font.Color:=clBlack;
  canvas.FillRect(rect);
  canvas.TextOut(rect.Left+4,rect.Top+4,column.Field.AsString); // 当显示字段为日期时间型的会出错
  end;
end;

非常感谢您的发言。

------解决方案--------------------
procedure TReport_info.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var tj: Boolean;
begin
{本模块:已打印的,显示黄色}
inherited;
with TMyCustomDBGrid(Sender) do
begin
tj:=DataLink.Fields[29].AsBoolean;
if tj then
Canvas.Brush.Color:=clYellow;
Canvas.Font.Color:=clBlack;
canvas.FillRect(rect);
if Column.Field.DataType in [ftDate,ftDateTime] then
canvas.TextOut(rect.Left4,rect.Top+4,FormatDateTime('yyyy-mm-dd hh:nn:ss',column.Field.AsDateTime))
else
canvas.TextOut(rect.Left+4,rect.Top+4,column.Field.AsString); // 当显示字段为日期时间型的会出错
end;
end;

非常感谢您的发言。