紧急求助!如何在dxdbgrid中根据字段内容不同的行显示不同的颜色,下面这段码有问题,帮我看看! 在线等待! ( 积分: 107 )

  • 主题发起人 主题发起人 hswang
  • 开始时间 开始时间
H

hswang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何执行的话,当点到符合条件的行时,它才变色,变色后如果滑动滚动条,那么其它不符合条件的行,也都变色了,该怎么处理呢?在线等待,哪位知道请尽快相告,非常感谢!
我用的是dxdbgrid,不是dbgrid,就是当条件符合的时候,全部都变成这种颜色,为什么?
procedure TFrm_main.dxDBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
if data_main.aq_install_move.FieldByName('compelete_time').IsNull and ((now-data_main.aq_install_move.FieldByName('recieve_time').AsDateTime)*24>install_limit_day1) then
AFont.Color:=install_limit_day1_color;
end;
 
如何执行的话,当点到符合条件的行时,它才变色,变色后如果滑动滚动条,那么其它不符合条件的行,也都变色了,该怎么处理呢?在线等待,哪位知道请尽快相告,非常感谢!
我用的是dxdbgrid,不是dbgrid,就是当条件符合的时候,全部都变成这种颜色,为什么?
procedure TFrm_main.dxDBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
if data_main.aq_install_move.FieldByName('compelete_time').IsNull and ((now-data_main.aq_install_move.FieldByName('recieve_time').AsDateTime)*24>install_limit_day1) then
AFont.Color:=install_limit_day1_color;
end;
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3009451
 
dxdbgrid它没有这个属性DefaultDrawColumnCell,那怎么办?
 
我看了没办去按上面说的那种方法办,因为不是一个控件,有些属性没有,该如何?
 
我没有TdxDBGrid级件,这个事件和DBGrid差别不大
TdxDBGrid(Sender).canvas 是这样吧?
 
是这样,那怎么实现呢?
 
如果用dxgrid控件来实现呀,大家有没有方法呀,我等着呢?谢谢!
 
with TDBGrid(Sender).canvas do
if data_main.aq_install_move.FieldByName('compelete_time').IsNull and ((now-data_main.aq_install_move.FieldByName('recieve_time').AsDateTime)*24>install_limit_day1) then
Brush.Color := clRed
else
Brush.Color := clwhite;
 
if …… then
AFont.Color:=……
后面加上
else
AFont.Color:=普通的颜色


 
后退
顶部