请问如何对dbgrid的某一个网格设置背景色?(40分)

  • 主题发起人 主题发起人 bbzy
  • 开始时间 开始时间
B

bbzy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在以前的答案中没看到答案啊!
 

响应OnDrawColumnCell事件,
加上以下代码:
...
DBGrid1.Canvas.Brush.Color: = clPurple;
DBGrid1.Canvas.FillRect(Rect);
...
OK?
 
Sorry, ^_^
I forgot one sentence,
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 
dbgrid中的内容是SELECT出的,用那两条语句怎么数据全没了,我再试试后条语句
 
那三句话是连在一起的。
DBGrid1.Canvas.Brush.Color: = clPurple;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 
我马上试一下,若行,明日给你加分!
 
不行再找我
 
谢谢,只是您误会我的意思了,我是指SELECT后从DBGRID中选择一个网格着色,而不是全部!
 
我很急,请大家帮一下吧!
 
以下代碼完成對當前記錄著色
dataSource下事件
procedure TForm1.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
pd:=query1.RecNo;
dbgrid1.Refresh;
end;

Grid下事件
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
if query1.RecNo=pd then
begin
DBGrid1.Canvas.font.Color:=clmaroon;
DBGrid1.Canvas.font.Style:=[fsbold];
dbgrid1.Canvas.Brush.Color:=clinfobk;
dbgrid1.columns.items[0].font.color:=clred;
//dbgrid1.Canvas.Brush.style:=bscross;
dbgrid1.DefaultDrawcolumncell(rect,datacol,column,state);
end;
end;
 
多人接受答案了。
 
后退
顶部