delphi中dbgrid问题

我想加载dbgrid时,根据条件改变行的颜色,例条件 if upbdel(u)=1 then 变红色 else 不变;(这里的upbdel是一个函数,通过数据库返回一个值;然后右击dbgrid弹出菜单,对这个数据库的这个字段进行0或1的更新,并且也根据上面的那个条件进行颜色设置!请大虾们帮帮忙,非常感谢!最好附源码!
2026年09月25日 06:01
有1个网友回答
网友(1):

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState); //重绘事件
begin
   if ADOQuery1.FieldByName('你要决断的字段').text=1 then
     DbGrid1.Canvas.Brush.color:=clred   //红色
   else DbGrid1.Canvas.Brush.color:=clYellow;  //黄色
   DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;