在我的应用程序中,我需要共同绘制一些不同颜色的网格列(不完全是行)。如何从 TcxGridTableDataCellViewInfo 变量中获取当前的列 ID?
谢谢。
在我的应用程序中,我需要共同绘制一些不同颜色的网格列(不完全是行)。如何从 TcxGridTableDataCellViewInfo 变量中获取当前的列 ID?
谢谢。
您可以使用 AViewInfo.Item.Index。
或者,您可以为每一列分配一个不同的 OnCustomDrawCell 处理程序,而不是为视图分配一个处理程序。那么就不需要区分列了。
例子:
procedure TFrmBestellingen.grdRequestDBTableCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;AViewInfo:
TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
varValue: Variant;
begin
inherited;
// Which column must i paint: Paint on column <TcxGridDbColumn>
if (AViewInfo.Item.Index = <TcxGridDbColumn>.Index) then
begin
// Get Value to compare if it is 100
varValue:=AViewInfo.GridRecord.Values[<TcxGridDbColumn>.Index];
if (Not VarIsNull(varValue)) and
(varValue=100) then
begin
ACanvas.Font.Style:= [fsBold];
ACanvas.Brush.Color:= clSilver;
end;
end;
end;