1) DBGrid的DefaultDrawing设成False
2) customized painting in an OnDrawColumnCell event handler or an OnDrawDataCell event handler.
2) customized painting in an OnDrawColumnCell event handler or an OnDrawDataCell event handler.
if Table1.FieldByName('print').Asboolean then
DBGrid1.Canvas.Font.Color := clRed
else
DBGrid1.Canvas.Font.Color := clBlue;
我说的是动态的显示行的颜色(不是列的),如下面是一个DBGRID: 是否打印(逻辑型)
T 〈- 这一行显示为 红色
F 〈- 这一行显示为 蓝色
F 〈- 这一行显示为 蓝色
T 〈- 这一行显示为 红色
.....
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if T then DBGrid1.Canvas.Brush.Color:=clTeal;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;