4

私のアプリケーションでは、いくつかのグリッド列(完全に行ではない)を異なる色で共同描画する必要があります。TcxGridTableDataCellViewInfo変数から現在の列IDを取得するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

6

AViewInfo.Item.Index を使用できます。

または、ビューに 1 つのハンドラーを割り当てる代わりに、各列に異なる OnCustomDrawCell ハンドラーを割り当てることもできます。その場合、列を区別する必要はありません。

于 2012-11-21T10:24:32.200 に答える
5

例:

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;
于 2012-11-21T12:14:23.250 に答える