您的位置:首页 > 其它

cxGrid根据条件改变文字颜色

2008-12-27 15:10 316 查看
今天在开发凯达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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string