网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
如何使dbgrid中不同的值显示不同颜色
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

在DBGrid的OnDrawDataCell事件下写:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  if Table1.FieldByName(''partno'').AsFloat > 2500 then
  DBGrid1.Canvas.Brush.Color := clGreen;
  //DBGrid1.Canvas.Font.Color := clRed;
  DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;

或(注意是"或")在OnDrawColumnCell下写:

二者的区别是OnDrawDataCell必须是Columns属性为csDefault,既为空。而OnDrawColumnCell没这个要求。

procedure TForm_cost.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with DBGrid1 do
    begin
      if ((State = [gdSelected]) or (State=[gdSelected,gdFocused]))     then
      begin
        Canvas.Font.Color :=clLime;
        Canvas.Brush.Color :=clMaroon;
      end
    else
      if Table1.FieldByName(''Salary'').AsFloat < 40000 then
begin
canvas.Font.Color := clYellow;
canvas.Font.Style := [fsItalic];
Canvas.brush.Color := clGreen;
end
else
begin
canvas.Font.Color := clNavy;
Canvas.Font.Style := [fsBold];
Canvas.brush.Color := clRed;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
//DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

  • 下一篇资讯: 监视Pop3信箱
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号