读书人

DBGrid1DrawColumnCell是个什么事件解

发布时间: 2012-03-17 19:06:27 作者: rapoo

DBGrid1DrawColumnCell是个什么事件
DBGrid1DrawColumnCell是什么事件

我仿别人在DBGrid写了以下代码来改变颜色,怎么不起作用.

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if adoquery1.FieldByName('name').AsString ='张三峰' then
begin
dbgrid1.Canvas.Brush.Color:=clYellow;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
end;

[解决办法]

探讨
应该可以
除非你的name字段,并没有"张三峰",否则name等于"张三峰"的这整行都变色
若Field.AsString ='张三峰',那么只有等于"张三峰"的这一单元格变色

[解决办法]
DBGrid1DrawDataCell就是DBGrid表格重绘事件
画布填充背景颜色时,可能会将单元格的内容覆盖掉
最好字体颜色跟画布颜色有明显的区别

读书人网 >.NET

热点推荐