如何使DBGRID控件每行颜色不一样(100分)

  • 主题发起人 主题发起人 bruce.li
  • 开始时间 开始时间
B

bruce.li

Unregistered / Unconfirmed
GUEST, unregistred user!
很多软件中DBGRID每行(不是每列)删格的颜色都不同,如“财智家庭理财”软件,请问是如何控制的。请举例说明。
 
OnDrawColumnCell中每行改变 Canvas 的 brush 的颜色
 
我有一控件,有SetCellColor事件来改行颜色!
 
列和行是一样的,只要你自己在OnDrawColumnCell中控制就行了。
 
在标准DBGrid的OnDrawColumnCell中;

if (your request) then DBgrid1.Canvas.Brush.Color:=(your request);
Dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);//不能少这句

我的控件FIXDBGrid可以实现fixedcol,....
 
标准DBgrid的OnDrawColumnCell事件:
if (your condition) then
DBGrid1.Canvas.Brush.Color:=(your request);
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
 
如何把DBGrid隔行分色显示
for(int i=0;iColumns->Count;i++) DBGrid1->Columns->Items->Font->Color=(i%2)?clBlue:clRed;
 
详见DELPHI4编程技内幕267页的例子!!
 
呵呵,这么老的问题!
偷懒的方法是用InfoPower2000
http://www.net-wing.net/kangwei
http://www.csdn.net
http:/www.vcl.vclxx.com上有大把。
 
RxLib的Demos里都有一个这样的例子
 
多人接受答案了。
 
后退
顶部