【问题标题】:How to draw an empty cell using TDBGrid?如何使用 TDBGrid 绘制一个空单元格?
【发布时间】:2017-02-27 14:18:39
【问题描述】:

我正在尝试为TDBGrid 的单元格显示一个空文本,而不更改字段的值,也不更改单元格的背景颜色。 我不确定这是不是正确的方法,但我尝试使用 OnDrawDataCell 事件,如下所示:

procedure TMyForm.MyGridDrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
var
    Grid : TDBGrid;
begin
  inherited;
  if(Field.FieldName = 'MYFIELD') then
  begin
    Grid := Sender as TDBGrid;
    Grid.Canvas.FillRect(Rect);
  end;
end;

在事件中放置断点后,我注意到它从未执行过

【问题讨论】:

    标签: delphi tdbgrid


    【解决方案1】:

    使用OnDrawColumnCell 事件处理程序而不是过时的OnDrawDataCell 解决了

    正如documentation 所说:

    不要编写 OnDrawDataCell 事件处理程序。 OnDrawDataCell 是 已过时并包含在内以实现向后兼容性。相反,写一个 OnDrawColumnCell 事件处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 2022-12-31
      • 2015-05-21
      • 2017-12-14
      • 2014-06-02
      • 1970-01-01
      相关资源
      最近更新 更多