我想问一下,怎样去设置Dbgrid?》?

diaorenhong 2002-10-13 10:32:49
在使用Dbgrid的时候,怎样对它进行设置和编程,才能达到要求,因为我的程序需要,,从数据原去几个数据出来进行判断。
如果达到一定的条件,就将这一行显示为不同的颜色,,我想问一下这个怎样去设置!!
...全文
26 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
webnumen 2002-10-14
  • 打赏
  • 举报
回复
定义一个全局变量:
LastColor:TColor;

DBGrid的DefaultDrawing设为false

procedure TMainForm.MailListDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then LastColor := ClBlue
else if DataCol = 0 then
begin
if Column.Field.AsInteger = 101 then LastColor := clYellow
else if Column.Field.AsInteger = 107 then LastColor := clWhite
else LastColor := clGreen;
end;

MailList.Canvas.Brush.Color := LastColor;

MailList.canvas.textrect(rect, rect.left + 2, rect.top + 2, Column.Field.AsString);
end;

请注意,maillist是Tdbgrid控件
diaorenhong 2002-10-14
  • 打赏
  • 举报
回复
对于DBgrid还需要怎样的设置,是不是只需要按照它的默认设置,还有dbgridd的Defaultdraw是否为True;
ccc_wh 2002-10-13
  • 打赏
  • 举报
回复
DBGrid1.Columns[1].Color := clRed;
My_first 2002-10-13
  • 打赏
  • 举报
回复
procedure TPersonForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
//change the color mode of this DBGrid
//inherited;
With DbGrid1 do
begin
if ADOQuery1.fieldbyname('field').asstring='YES' then
begin
Canvas.Font.Color := clYellow;
Canvas.Brush.Color := clNavy;
end
else
begin
Canvas.Font.Color := clred;
Canvas.Brush.Color := clNavy;

end;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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