在drawcell事件中写代码咯,看一下帮助文件吧,这些资料应该很多的呀
解决方案 »
- 如何用delphi连接mysql数据库?
- 请问如何在DELPHI程序中检测WebBrowser控件中的点击?
- cannot create file ‘d:\001.bmp'.另一个程序正在使用此文件,进程无法访问。----我的程序处理的图片多的时候出现如此提示的错误,如何
- 请问这种情况下不Free TStrings,会不会造成内存占用?
- 警惕网上特务
- adoquery是不是像adostoredproc一样可以接收存储过程的返回值啊?
- 高难度的Oracle和SQLServer的问题!?!?
- 关于多线程下载(Http)!
- 关于发短信的问题??拜托各位
- 请教:ADO连接EXCEL的问题
- csdn 的asp有问题了吗?
- 急!急 如何在Delphi5中自动进入Excel,且打开指定Excel文件名。
const Rect: TRect; Field: TField; State: TGridDrawState);
begin //在dbgrid上显示时,atttype=0显示签到,ttype=1显示签退
if (query1.FieldByName('atttype').asinteger=1) then
begin
dbgrid1.Canvas.brush.Color :=clteal;
dbgrid1.Canvas.font.Color :=clwhite;
DBGrid1.DefaultDrawDataCell(rect, Field,State);
end
else
begin
dbgrid1.Canvas.brush.Color :=clbackground;
dbgrid1.Canvas.font.Color :=clwhite;
DBGrid1.DefaultDrawDataCell(rect, Field,State); end;
这是我用来显示不就颜色的一段代码,你试试
我是通过字段atttype来区分不同记录的,,你总有区分记录的标志字段吧?
@_@
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if QryPD.fieldbyname('a').Asfloat<0 then
with (Sender as TDBGrid).Canvas do
begin
Brush.Color := RGB(254,163,181);
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Column.Field.AsString);
end
else if QryPD.fieldbyname('a').Asfloat>0 then
with (Sender as TDBGrid).Canvas do
begin
Brush.Color := RGB(186,221,185);
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Column.Field.AsString);
end
end;
I copy others