根据显示记录中字段的值更改DevExpress TcxGrid行上的字体颜色

问题描述 投票:0回答:1

我使用TcxGridDBDataController的事件OnCustomDrawCellDevExpress TcxGrid的字体行颜色更改为红色,如果显示的记录的某个字段(例如,“借方”的值为1)

if Sender.DataController.GetValue(AViewInfo.GridRecord.RecordIndex, 15) = 1 then
   begin

    ACanvas.Font.Color := clRed;
   end;

上面的代码在'Debit'字段具有recordIndex 15的情况下有效。但是,如果我更改字段的顺序,它将停止工作(因为recordindex不再为15)。

代替Recordindex,我想使用字段名'Debit'来检查值。

我将很感激有人可以帮助您更改上面的代码,以使其不管字段'借方'的位置如何都可以工作。

谢谢

devexpress vcl tcxgrid
1个回答
0
投票

没关系,我发现了:这是执行此操作的代码

{

procedure TfrmAirReservs.grdReservsListDBTableView1CustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
  var Debit: TcxGridDBColumn;
begin

  Debit := TcxGridDBTableView(Sender).GetColumnByFieldName('Debit');
  if AViewInfo.GridRecord.Values[Debit.Index] = 1 then
   begin

    ACanvas.Font.Color := clRed;
   end;
end;

}

© www.soinside.com 2019 - 2024. All rights reserved.