Displayformat属性能控制字体颜色吗?

cgl4134 2015-09-09 12:14:36
默认的是 Displayformat = #,##0.00;#,##0.00

能不能实现 按照条件显示不同的颜色? 代码怎么写..

按excel的自定义格式代码,不能正确显示

求正确写法 求delphi大神
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2015-09-09
  • 打赏
  • 举报
回复
1、Displayformat 只能控制显示的数字(文字)的格式,它不能控制颜色。 2、如果要控件行的颜色,应在DBGrid1DrawColumnCell 事件通过代码重绘。 if DBGrid1.RecNo mod 2 = 0 // 隔行换色 begin TDBGrid1(Sender).Canvas.Brush.Color := clYellow; TDBGrid1(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State); end; 3、如果要控件列的颜色,应在DBGrid1DrawColumnCell 事件通过代码重绘。 if (DataCol=0) or (DataCol=2) or (DataCol=4) then // 列1、3、5 begin DBgrid1.Canvas.Brush.Color:=clAqua; DBgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); end;
adslong 2015-09-09
  • 打赏
  • 举报
回复
按照条件显示不同的颜色,可以在 DBGrid1DrawColumnCell 事件里边重绘 if DataCol = N then begin with TDBGrid(Sender).Fields[1] do begin if Text = '下单' then TDBGrid(Sender).Canvas.Brush.Color := clYellow; else if Text = '提货' then TDBGrid(Sender).Canvas.Brush.Color := $004B7BFD; end; TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State); end; 指定 if DataCol = N then begin TDBGrid(Sender).Canvas.Brush.Color := clYellow; TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State); end; 以上仅供参考
bjadams 2015-09-09
  • 打赏
  • 举报
回复
Displayformat 不能控制颜色,这个显示控制的功能比较弱的,主要用于控制数值的显示 控制颜色可以在显示的时候判断显示的内容,然后重新设定颜色

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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