如何使DBGRID显示的时候,每行的颜色不同? ( 积分: 30 )

  • 主题发起人 主题发起人 民工助理
  • 开始时间 开始时间

民工助理

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,请高手指教!!
 
如题,请高手指教!!
 
procedure TForm1.suiDBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if ADOQuery1.FieldByName('序号').AsInteger<300 then
begin
suiDBGrid1.Canvas.Brush.Color:=clGreen;
suiDBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,[gdFixed,gdFocused,gdSelected]);
end;
end;
 
给你一段参考一下,我是在dxGirdCustomDrawCell中这样写

if (ANode.AbsoluteIndex mod 2) = 0 then
AColor := RGB(240, 240, 240)
else
AColor := RGB(255, 255, 255);
 
if procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
with dbgrid1.Canvas do
begin
if query1.recno mod 2=0 then
begin
brush.Color:=clInfoBk;
end
else
brush.color:=clnone;
end;
有一个 dbgrid 应用全书,你找找吧
dbgrid1.DefaultDrawDataCell(rect,field,state);
end;
 
http://www.tommstudio.com/ViewArticles.aspx?ID=775
http://www.tommstudio.com/ViewArticles.aspx?ID=678
http://www.tommstudio.com/ViewArticles.aspx?ID=372
 
后退
顶部