请问各位大侠,小弟想让DBGrid的相邻两行以不同的颜色显示,写了如下代码,可总是以clScrollBar来显示,好像是if Query1.RecNo mod 2=0 then没体作用,请帮我看看吧,谢谢了:
if Query1.RecNo mod 2=0 then
DBGrid1.Canvas.Brush.Color:=clInfoBk
else
DBGrid1.Canvas.Brush.Color:=clScrollBar;
if Query1.RecNo mod 2=0 then
DBGrid1.Canvas.Brush.Color:=clInfoBk
else
DBGrid1.Canvas.Brush.Color:=clScrollBar;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
TDBGrid(Sender).Canvas.Brush.Color := clInfoBk
else TDBGrid(Sender).Canvas.Brush.Color := clScrollBar;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
TDBGrid(Sender).Canvas.Brush.Color := clred
else
TDBGrid(Sender).Canvas.Brush.Color := clblue;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
if Query1.RecNo mod 2=0 then
DBGrid1.Canvas.Brush.Color:=clBlue
else
DBGrid1.Canvas.Brush.Color:=clScrollBar;
(sender as TDBGrid).DefaultDrawColumnCell(Rect,DataCol,Column,State);
显示的是 clScrollBar
if Odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
TDBGrid(Sender).Canvas.Brush.Color :=clBlue
else TDBGrid(Sender).Canvas.Brush.Color := clScrollBar;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
显示的是clBlue
都是一种颜色啊