OnDrawColumnCell事件里写代码(这是DBGrid的,假设:颜色字段名为Color,类型为数值型)
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Column.FieldName = 'Color') then
begin
TDBGrid(Sender).Canvas.Brush.Color:= Column.Field.AsInteger;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
//由于你的字段存的是是blue,red,black等字符,所以要这样转换一下:
if Column.Field.AsString='blue' then TDBGrid(Sender).Canvas.Brush.Color:= clblue
else if Column.Field.AsString='red' then TDBGrid(Sender).Canvas.Brush.Color:= clRed, 其它的就自已写吧........................