請教 DBGrid 中怎樣使一行中的,一個字段的Font.Color 改變
如:DBGrid:number Name Class
001 Join 1
002 Tim 1
003 steven 2把 Tim 變為紅色
如:DBGrid:number Name Class
001 Join 1
002 Tim 1
003 steven 2把 Tim 變為紅色
解决方案 »
- SOS求助
- 如何richedit在特定行显示不同颜色,并能把光标定位在最后一行
- 不能在XP下修改IP,主机名和DNS?
- dbgrid的问题!
- 请问谁有 INSTALLSHIELD EXPRESS 4.0 EVALUATION 的序列号?
- 1000分寻treeview和webbrowser的使用高手!
- Ehlib中把当前的DBGridEh导出为Excel(*.XLS)格式的功能如何实现???
- ado的刷新问题请高手指教???在线等待?
- 我是刚自学delphi的,有个程序我不知道怎么搞!程序如下:
- 如何清除ClientDataSet1的缓存的所有数据?
- 有没有吉林市的朋友,进来聚一下,留个QQ!!
- 小弟菜鸟,刚才开始学习DELPHI,搞数据库遇到问题,请教大侠!
if uppercase(Column.FieldName) = 'NAME' then
if Column.Field.Value = 'Tim' then
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.TextRect(Rect,Rect.Left+3 ,Rect.Top+
2,Column.Field.DisplayText);
end;
我用普通的db库没问题
用sql server .和oracle 就不行..
例如,对表中某字段当其数值小于0时为红字,其他为黑字.
在 DBGrid.OnDrawColumnCell(...) 中:
begin
if TableField.AsInteger < 0 then
DBGrid.Canvas.Font.Color := clRed
else
DBGrid.Canvas.Font.Color := clBlack;DBGrid.DefaultDrawColumnCell(...);
end;
然后在ONDRAWCOLUMNCELL事件中加入如下代码:
if field.value='您确定的值' then
begin
canvas.font.color:=clred;
end;
以上的方法把整行 Font.Color 都改變了顺子妹妹:你的方法行不通