在onDrawDataCell中写
if acol=1 //某列暂定为第一列
begin
with grid do
begin
if cell[acol,arow]='345' then
Canvas.Brush.Color:=clred
else canvas.brush.color=clgreen;
end;
Canvas.FillRect(Rect);
end;
大体如此
if acol=1 //某列暂定为第一列
begin
with grid do
begin
if cell[acol,arow]='345' then
Canvas.Brush.Color:=clred
else canvas.brush.color=clgreen;
end;
Canvas.FillRect(Rect);
end;
大体如此
解决方案 »
- WebBrowser打印如何不提示选择打印机?
- 各位朋友帮个忙呀,我知道是比较傻,但是是自己喜欢的MM所求。谢谢了
- 请问delphi有没有等级考试
- 同一问题的第三贴,关于在delphi中使用msWinsck.ocx控件实现ftp下载的问题,谢谢!
- 如何在word中用delphi做页眉和页脚?在线等-----解决问题立马给分 !
- [lysee] 想在Delphi程序中嵌入脚本吗?有一个东东可以试试
- report machine 套打问题,在线等!
- 一个数据库问题~~~,高手请进~~~(在线等回答,高分相送)
- 早上醒来,发现五条内裤全都不见了,成了一只猩猩,光溜溜的,39度的天好凉爽呀!!呵,散分啦。。。。。。。。。
- 高手进来,如何屏蔽控件的事件
- adotable clone数据后,在相应的表里面数据却没有发生变化,什么原因啊?
- WebBrowser的NewWindow2的过程中如何使链接在IE中打开?而不是自身的跳转,谢谢!
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var i :integer;
begin
if gdSelected in State then Exit;
//定义表头的字体和背景颜色:
for i :=0 to (Sender as TDBGrid).Columns.Count-1 do
begin
(Sender as TDBGrid).Columns.Title.Font.Name :='宋体'; //字体
(Sender as TDBGrid).Columns.Title.Font.Size :=9; //字体大小
(Sender as TDBGrid).Columns.Title.Font.Color :=$000000ff; //字体颜色(红色)
(Sender as TDBGrid).Columns.Title.Color :=$0000ff00; //背景色(绿色)
end;
//隔行改变网格背景色:
if Query1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//定义网格线的颜色:
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do //画 cell 的边框
begin
Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
MoveTo(Rect.Left, Rect.Bottom); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
Pen.Color := $0000ff00; //定义画笔颜色(绿色)
MoveTo(Rect.Right, Rect.Top); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画绿色的竖线
end;
end;
这是改变每一格的
procedure Tform_XXX.dbgrid_resultantiDrawDataCell(
Sender: TObject; const Rect: TRect; Field: TField;
State: TGridDrawState);
begin
//////////////////////////////////////////////////非细菌类
if pub_curtesttype <> '细菌' then
begin
if (dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors').AsVariant
<> null) and
(dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors').AsVariant <>
'') then
begin
// dbgrid_resultanti.Canvas.Font.Color :=clred;
if (lowercase(field.fieldname) = 'testresult') or
(lowercase(field.fieldname) = 'stsname') then
dbgrid_resultanti.Canvas.Font.Color :=
dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors').AsVariant
end;
if (dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors1').AsVariant
<> null) and
(dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors1').AsVariant
<>
'') then
begin
if (lowercase(field.fieldname) = 'testresult1') or
(lowercase(field.fieldname) = 'stsname1') then
dbgrid_resultanti.Canvas.Font.Color :=
dbgrid_resultanti.DataSource.DataSet.FieldByName('Colors1').AsVariant;
end;
//////////////////////////////////////////////////////////////////////////////////////////////////
end;
dbgrid_resultanti.DefaultDrawDataCell(Rect, Field, State);
end;