起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 304|回复: 8

【结】关于DataGrid颜色的问题

[复制链接]
发表于 2010-4-19 18:06:53 | 显示全部楼层 |阅读模式
我想实现根据某列值的不同而该单元显示不同的颜色,学习了论坛关于DataGrid颜色的帖子,好像只能根据第一行的值进行判断,整列都和第一行的颜色相同。
    我想要的功能怎么实现?
回复

使用道具 举报

发表于 2010-4-20 08:57:05 | 显示全部楼层
呵呵,你少了一个判断,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=2430
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-21 15:14:27 | 显示全部楼层
学习了,好像还不行。整个列都显示一样的颜色,好像只是根据第一行的值进行了判断,并没有根据的每一行的值进行比较。在DataGrid中怎样判断行呢?
例如:某列有5行,分别为1,2,3,4,5,希望>3时,显示红色。
回复 支持 反对

使用道具 举报

发表于 2010-4-21 15:45:12 | 显示全部楼层
http://bbs.justep.com/forum.php?mod=viewthread&tid=18101  1楼有代码和效果图,因为涉及分组,所以他少加一个条件

如果还不行,请把你的代码和事件及效果图贴出来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-21 18:16:37 | 显示全部楼层
procedure TDistributeNowTaskSheet.DataGrid1CustomDrawCell(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);
var
I:integer ;
begin
  for I := 0 to DataGrid1.ColumnCount - 1 do
  begin
    if DataGrid1.Columns[I].FieldName = 'FEndDate'
        then
           begin
                AColor := Graphics.clRed;
                Break;
            end;
   end;
end;
怎么显示结果所有字段所有行颜色全为红色??
回复 支持 反对

使用道具 举报

发表于 2010-4-22 09:34:24 | 显示全部楼层
1、你没有判断'FEndDate' 这个字段的值
2、没有循环列

不知道楼主是否仔细看了我给你的帖子,在帖子的19楼已经贴出代码和解释了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-22 10:06:30 | 显示全部楼层
问题已解决,关键的步骤是将edgoLoadAllRecords取消。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-22 17:19:01 | 显示全部楼层
将edgoLoadAllRecords取消后,当数据为空时怎么还显示一行呀?能用代码控制edgoLoadAllRecords属性?
回复 支持 反对

使用道具 举报

发表于 2010-4-22 17:55:26 | 显示全部楼层
1、将edgoLoadAllRecords取消后,当数据为空时怎么还显示一行呀?
啥意思,你意思选中 edgoLoadAllRecords 这个属性后,界面上不显示一条记录,选中就显示,请楼主贴上这两个效果图,我看看


2、能用代码控制edgoLoadAllRecords属性?
你是想代码控制这个属性是否选中吗?这是一个枚举,直接加上就可以,类似
OrgTreeView1.ShowOptions := OrgTreeView1.ShowOptions -
    [TBizObjectKind.boPositionMember, TBizObjectKind.boPersonMember];
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 03:38 , Processed in 0.044718 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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