我使用TcxGridDBDataController的事件OnCustomDrawCell将DevExpress 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'来检查值。
我将很感激有人可以帮助您更改上面的代码,以使其不管字段'借方'的位置如何都可以工作。
谢谢
没关系,我发现了:这是执行此操作的代码
{
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;
}