我尝试显示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;
在事件中放置断点后,我发现它从未执行过
答案 0 :(得分:1)
使用OnDrawColumnCell
事件处理程序而不是过时的OnDrawDataCell
正如documentation所说:
不要编写OnDrawDataCell事件处理程序。 OnDrawDataCell是 过时兼容,以便向后兼容。相反,写一个 OnDrawColumnCell事件处理程序。