请问如何才能改变DBGrid中某一个格子的颜色?(50分)

  • 主题发起人 风逍遥
  • 开始时间

风逍遥

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何才能改变DBGrid中某一个格子(比如第3行第4列)的颜色(前景和背景)?请高手指点,谢谢。
在线等待![?]
 
大概是在ondrawcolunm中处理吧
身边没有环境,要么给你测试一下
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=409793
 
我用如下代码,只能改变一行的前景色,答不到要求。
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Table1.FieldByName('姓名').AsString:='张三' then
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
 
dq:用以上代码可以改变前景,背景可以改变吗?
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Column.Field.FieldName = 'GDBH') and (Column.Field.AsString = '200008') then
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;//——俺用的是Delphi:)
 
解决了一半,谢谢kingdeezj和taninsh
 
多人接受答案了。
 
顶部