Delphi - cxGrid颜色显示相关设置

1:单元格的值满足某个条件时,该单元格所在整行颜色设置整行字体设置

选中cxGridDBTableView,单击F11调出属性配置面板,在Events中双击OnCustomDrawCell后双击编辑重画事件代码。

代码如下:

if '1' = AViewInfo.GridRecord.Values[cxgrdbclmnGridDBTableView5ysbj.Index] then
begin
   //整行背景颜色设置 
   //ACanvas.Canvas.Brush.Color := clGreen;
   //整行字体颜色设置
   //ACanvas.Font.Color := clGreen;
end;

2:单元格的值满足某个条件时,该单元格背景/字体颜色的设置

添加样式准备:

拖一个cxStyleRepository1控件,双击该控件进行Styles的添加和设置;

2:选中cxGridDBTableView,单击F11调出属性配置面板,在Events中双击OnGetContentStyle后双击编辑重画事件代码。

代码如下:

复制代码
 1 procedure TFrm_Qry_DBLT.cxGrid1DBTableView1StylesGetContentStyle(
 2   Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
 3   AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
 4 begin
 5     if ARecord is TcxGridDataRow  then
 6     //and not ARecord.Selected then //选中行导出没有颜色
 7     begin
 8         if ARecord.Values[cxGrid1DBTableView1.GetColumnByFieldName('CQ').Index] > 1 then
 9             AStyle := cxStyle1 //属于 TcxStyleRepository
10     end;
11 end;
复制代码

 

复制代码
 1 procedure TMainFrm.cxGridHisDBTableView1CustomDrawCell(
 2   Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
 3   AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
 4 begin
 5   //第7列颜色改变
 6   if (AViewInfo.Item.ID = 6) then
 7   begin
 8     ACanvas.Brush.Color := clred;
 9   end;
10 
11 end;
复制代码

 

注意:只有cxStyleRepository1设定的样式被cxGrid应用,cxGrid导致到Excel时才带有颜色。

 

  作者:Jeremy.Wu
  出处:https://www.cnblogs.com/jeremywucnblog/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted @   Jeremy.Wu  阅读(2825)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
点击右上角即可分享
微信分享提示