用adotable,datasource,dbgrid,先是一个数据库表示,当移动到某条记录时,怎样设置这条记录的颜色?
解决方案 »
- 如何将图片转换为EXE,以及SWF格式,如屏幕录像软件----要代码
- 一个窗体调用问题?
- hSession := InternetOpen('MyApp', 。。。。。。。),怎样取得webbrowser的hSession?
- 如何将Frame封装到DLL中,如何调用?我用的是Raize3.10。。。
- kol&mck 1.86.zip+KOLSocket 已经装了前面的,想装socket提示版本不对,请老手帮忙
- 如何使listview指定项选中,然后处于可编辑状态?
- 如何在A程序中访问B程序中另外一个列表框控件的文本内容?
- pcomm开发拨号程序。利用调制解调器通讯,急!
- 在线等待,还是关于自画ListBox的列表项的问题,100分
- DBisam数据库控件怎样支持大小写不敏感的检索?
- 如何实现的类似sum(max(*))的查询??
- 如何实现这个功能
例如:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Table1.FieldByName('分数').AsInteger > 90 then
DBGrid1.Canvas.Font.Color := clRed
else
DBGrid1.Canvas.Font.Color := clBlue;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
首先将DBgrid的DefaultDrawing属性设置为false;
然后在DBBrid的DrawColumnCell事件中这样做:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field.AsInteger < 75 then begin
DBGrid1.Canvas.Font.Color := clWhite;
DBGrid1.Canvas.Brush.Color := clRed; //这里设置单元格填充色
DBGrid1.Canvas.FillRect(Rect); //这里对相应的单元格进行北景色填充
end;
//输出内容
DBGrid1.Canvas.TextRect( Rect, Rect.Left, Rect.Top, Column.Field.AsString);
end;