起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 386|回复: 13

[结贴]请问如何根据不同的条件设置DataGrid行字体的颜色

[复制链接]
发表于 2008-11-17 14:02:21 | 显示全部楼层 |阅读模式
请问如何根据不同的条件设置DataGrid行字体的颜色?高手请赐教。谢谢!
回复

使用道具 举报

发表于 2008-11-17 14:15:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-17 14:19:17 | 显示全部楼层
我需要的不是改变某列字体的颜色,而是要改变某行字体的颜色
回复 支持 反对

使用道具 举报

发表于 2008-11-17 14:21:07 | 显示全部楼层
类似的,楼主。
请看论坛的faq里
http://bbs.justep.com/forum.php?mod=viewthread&tid=2430
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-17 14:37:47 | 显示全部楼层
if dsPGD.DataSet.FieldByName('SH').AsInteger = 0 then
    AFont.Color := clBlue
  else AFont.Color := clRed;

我在DataGridCustomDrawCell事件里写上面的代码,但是效果是选中某行,如果 SH = 0 则把整个表格的字体颜色都变成蓝色,如果 SH = 1 则把整个表格的字体颜色都变成红色。而我的要的效果的自动根据某行 SH值的不同显示不同的颜色
回复 支持 反对

使用道具 举报

发表于 2008-11-17 14:39:24 | 显示全部楼层
你是说你的sh存的是颜色信息?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-17 14:51:33 | 显示全部楼层
不是,SH存的是这条记录是否被审核,已审核为1,未审核为0
回复 支持 反对

使用道具 举报

发表于 2008-11-17 15:08:57 | 显示全部楼层
那我不知道你5楼说的意思了。
你看我的图,是否这样子就可以满足你要求?

snap1.png

7.93 KB, 下载次数: 192

回复 支持 反对

使用道具 举报

发表于 2008-11-17 15:17:13 | 显示全部楼层
是设置 AColor,不是设置 AFont,请楼主再仔细看一下代码
回复 支持 反对

使用道具 举报

发表于 2008-11-17 15:22:20 | 显示全部楼层
procedure TYSXSBDWD.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
  //字体变色
  {Case DataSetBrokerBZSJJ1.DataSet.FieldByName('ys').AsInteger of
    1 : AFont.Color := Business.System.Graphics.clred;
    2 : AFont.Color := Business.System.Graphics.clBlue;
    3 : AFont.Color := Business.System.Graphics.clGreen;
  end;}
  //行变色
  Case DataSetBrokerBZSJJ1.DataSet.FieldByName('ys').AsInteger of
    1 : AColor := Business.System.Graphics.clred;
    2 : AColor := Business.System.Graphics.clBlue;
    3 : AColor := Business.System.Graphics.clGreen;
  end;

end;

snap1.png

7.41 KB, 下载次数: 189

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 15:33 , Processed in 0.051461 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表