cxGrid根据条件改变文字颜色

来源:互联网 发布:淘宝网蒙古族雪纺服装 编辑:程序博客网 时间:2024/05/13 00:18

今天在开发凯达ERP的时候,碰到了cxGrid关于根据取到的Cell值改变整行记录的Text颜色。

基本思路是:

1、用cxStyleRepository控件先设置几种不同的样式。

2、根据相关事件改变cxGrid的Text颜色

 

问题: 找不到哪个事件

 

解决问题:

如下例

在tcxGrid1DBTableView   的   CustomDrawCell   事件中写。  
  假如性别字段为   ColumnSex.   

  procedure   TForm1.cxGrid1DBTableView1CustomDrawCell(  
      Sender:   TcxCustomGridTableView;   ACanvas:   TcxCanvas;  
      AViewInfo:   TcxGridTableDataCellViewInfo;   var   ADone:   Boolean);  
      var   str:string;  
  begin  
      str:=trim(VarAsType(AViewInfo.GridRecord.DisplayTexts[ColumnSex.Index],   varString));  
      if   str='男'   then  
      begin  
            ACanvas.Canvas.Brush.Color   :=clred;  
            ACanvas.canvas.Font.Color   :=   clblack;  
      end  
      else   if   str='女'   then  
      begin  
        ACanvas.Canvas.Brush.Color   :=clgreen;  
        ACanvas.canvas.Font.Color   :=   clblack;  
      end;  
      if   AViewInfo.Selected   then  
      begin  
          ACanvas.Canvas.Font.Color   :=   clwhite;  
          ACanvas.Canvas.Brush.Color   :=clNavy   ;  
      end;  
  end;

原创粉丝点击