Delphi cxgrid 單元格數據對比,實現自繪標識!

该博客讲述了如何在Delphi中使用cxGrid组件进行单元格数据对比,并通过自定义绘制来标识不同。针对FLAG字段,根据数值0、1、2分别用红、绿、紫三色标识。同时,对XCB、XBM、XKB等字段与数据库中的对应字段进行对比,颜色标示出不一致的单元格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

procedure TRes_HrYd_Approve_F.cxGrid1DBBandedTableView1CustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
  CheckValue:Integer;
  aa,bb,cc,dd,ee,ff,gg,hh,ii,jj:string;
  CxColumn,aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1,ii1,jj1:TcxGridDBBandedColumn;
begin
  inherited; //程序自繪
  CxColumn:=(Sender as TcxGridDBBandedTableView).GetColumnByFieldName('FLAG');
  if CxColumn=nil then Exit;
  if SameText(AViewInfo.Item.Name,CxColumn.Name) then
  begin
    CheckValue:=StrToInt(AViewInfo.GridRecord.Values[cxGrid1DBBandedTableView1Column28.Index]);
    if(CheckValue=0) then
    begin
      AViewInfo.Focused;
      ACanvas.Brush.Color:=clRed;
    end;
    if(CheckValue=1) then
    begin
      AViewInfo.Focused;
      ACanvas.Brush.Color:=clGreen;
    end;
    if(CheckValue=2) then
    begin
      AViewInfo.Focused;
      ACanvas.Brush.Color:=clFuchsia;
    end;
  end;
  aa1:=(Sender as TcxGridDBBandedTableView).GetColumnByFieldName('XCB');
  if aa1=nil then Exit;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值