如何让DBGrid的某一行某一列显示成红色

ujjcel 2007-01-10 09:15:53
当符合一定的条件时,如何让DBGrid的某一行某一列显示成红色?望高手指教.
...全文
530 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhloveys 2007-02-06
  • 打赏
  • 举报
回复
我也来接点分
grjs2004 2007-02-06
  • 打赏
  • 举报
回复
接分
zhitaoyang 2007-02-06
  • 打赏
  • 举报
回复
专业接分,不知道到我这里还有没了...
lijingzhan 2007-02-06
  • 打赏
  • 举报
回复
up
LevnWang 2007-01-11
  • 打赏
  • 举报
回复
一两分也要
swcsoft 2007-01-11
  • 打赏
  • 举报
回复
随便给点吧...他们都回答了!
zhengsq007 2007-01-11
  • 打赏
  • 举报
回复
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clred;
DBGrid1.Canvas.Brush.Color:=clgray;

{//改变某个单元格的颜色
if (Field.FullName='SIZE')and (Field.AsInteger=2) then
begin
DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString);
end;}

//改变某行的颜色,该行的NAME字段值=aaa
if Field.DataSet.FieldByName('NAME').asString='aaa' then
DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//改变某个列的颜色
DBGrid1.Columns[1].Color:=clgreen;
DBGrid1.Columns[1].Font.color:=clred;
end;
jerry8 2007-01-11
  • 打赏
  • 举报
回复
来晚的给点纪念奖好了
aniugee 2007-01-11
  • 打赏
  • 举报
回复
mark
GARNETT2183 2007-01-10
  • 打赏
  • 举报
回复
算了。。。接点分。。
hfltp 2007-01-10
  • 打赏
  • 举报
回复
我也想要
来晚了
dovelee 2007-01-10
  • 打赏
  • 举报
回复
mark
dabaicai 2007-01-10
  • 打赏
  • 举报
回复
浪费了,唉
hongqi162 2007-01-10
  • 打赏
  • 举报
回复
100分啊,,,





hongqi162 2007-01-10
  • 打赏
  • 举报
回复
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clred;
DBGrid1.Canvas.Brush.Color:=clgray;

{//改变某个单元格的颜色
if (Field.FullName='SIZE')and (Field.AsInteger=2) then
begin
DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString);
end;}

//改变某行的颜色,该行的NAME字段值=aaa
if Field.DataSet.FieldByName('NAME').asString='aaa' then
DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//改变某个列的颜色
DBGrid1.Columns[1].Color:=clgreen;
DBGrid1.Columns[1].Font.color:=clred;
end;
postren 2007-01-10
  • 打赏
  • 举报
回复
100分啊,我要

下面的代码可以改变单元格的字体、背景颜色

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DataCol = 1)and(ADOTable1.FieldByName('UserName').Value = 'Administrator') then
begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.Brush.Color := clLime;
end;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

以上代码仅把第一列(从零列开始),第UserName='Administgrator'行的单元格的字体颜色改为红色,背景颜色改为亮绿色
Comer 2007-01-10
  • 打赏
  • 举报
回复
来晚的给点纪念奖好了
ryan2006 2007-01-10
  • 打赏
  • 举报
回复
接分!
maxtool 2007-01-10
  • 打赏
  • 举报
回复
100分哦,我也要来分点。

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧