解决方案 »
- delphi 在DBChart显示
- 求助:第一次来这里,请教几个问题,大家帮帮忙!
- ■■■■■如何将文字写到屏幕上,而且处于最前端,就像是调节显示器设置时显示的那样?
- 交流mapinfo数字地图数据!!
- Dgmultiselect设置为True可以在Dbedit中选择多行后,为何通过Dbedit只能更改一行的数据?
- 关于表单的先后顺序
- 怎样将TDataModule结果保存在文件中?
- 有人知道ORBIT这个多语言开发平台吗? 听说可以快速开发自已的DELPHI应用。
- 哪位老大有ReportBuilder用法的文档啊。。。
- 執行語句 strtodatetime(str1); 讓str1='2002-09-03 09;12;13'也報錯.
- 请指出如下代码错在那里?怎么改?
- 控件浏览出来的页面跟原来的就错位了,整个页面偏右下角下移!请问这个问题怎么解决呀????
给你提示:
在FORM上放一个DBGRID,然后右激有个小精灵(COL EDit)!
然后添加单元!
在设定没格的Color!
if Column.FieldName=字段名 then
begin
if Column.field.value>条件 then
begin
dbgrid1.canvas.font.color:=//字体颜色;
dbgrid1.canvas.brush.Brush.Color:=//背影色;
dbgrid1.canvas.textrect(...);//将内容输出
end;
end;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if 条件1 then
begin
DBGrid1.Canvas.Brush.Color:=clYellow; //背景色为黄色
DBGrid1.Canvas.Font.Color := clRed;
end
else
if 条件2 then
begin
DBGrid1.Canvas.Brush.Color:=clSkyBlue; //背景色为天蓝色
DBGrid1.Canvas.Font.Color := clPurple;
end
else
DBGrid1.Canvas.Font.Color:=clGreen;//默认的
DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);//这句一定要加上
end;
Field: TField; State: TGridDrawState);
begin
if (Field.FieldName='NO') and (Field.DataSet.FieldByName('NAME').AsString='John') then
begin
dbGrid1.Canvas.Brush.Color:=clRed;
dbgrid1.Canvas.Font.Color:=clblue;
end;
dbgrid1.DefaultDrawDataCell(rect,field,state);
end;
分别控制单元格和行的颜色
Field: TField; State: TGridDrawState);
begin
if (Field.FieldName='NO') and (Field.DataSet.FieldByName('NAME').AsString='John') then
begin
dbGrid1.Canvas.Brush.Color:=clRed;
dbgrid1.Canvas.Font.Color:=clblue;
end;
dbgrid1.DefaultDrawDataCell(rect,field,state);
end;
原贴请看http://expert.csdn.net/Expert/topic/1380/1380412.xml?temp=.7136194
此句不能执行。请指点!
连这句都看不懂?
if (Field.FieldName='NO') and (Field.DataSet.FieldByName('NAME').AsString='John') then
你只需要改动'no'、'name'、'john'这几个值就行啦,其他照抄。
'no'是你要设定颜色的单元格对应的字段名。
'name'是你用来判断是否符合条件的字段名。例如:你的是数值字段。
'john'是你判断的条件值。例如你的可能是
Field.DataSet.FieldByName('count').Asinteger>100
这个也看不懂的话,多看书,看delphi帮助才行啊。