DBGRID 颜色问题,怎么在程序里单独设置一个格子的颜色,比如是负数,我就要显示成红色(100)

  • 主题发起人 主题发起人 guming1
  • 开始时间 开始时间
G

guming1

Unregistered / Unconfirmed
GUEST, unregistred user!
DBGRID 颜色问题,怎么在程序里单独设置一个格子的颜色,比如是负数,我就要显示成红色
 
rocedure TForm.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if DBGrid.Fields[0].AsInteger < 0 then DBGrid.Canvas.Font.Color := clRed else DBGrid.Canvas.Font.Color := clBlack;{DBGrid.Canvas.Brush, DBGrid.Canvas.MoveTo(Rect.Top, Rect.Left), DBGrid.Canvas.LineTo(Rect.Top, Rect.Right)} DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);end;
 
var AYellowStyle: TcxStyle;procedure TForm1.FormCreate(Sender: TObject);begin //行颜色 AYellowStyle := TcxStyle.Create(Self); AYellowStyle.Color := $0080FFFF; AYellowStyle.TextColor := clMaroon;end;procedure TForm1.cxGrid1DBBandedTableView1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);begin if ARecord.Values[cxGrid1DBBandedTableView1Lengthcm.Index] < 0 then //判断条件 AStyle := AYellowStyle;end;这里cxGrid1DBBandedTableView1Lengthcm.Index小于0时就显示黄色cxGrid1DBBandedTableView1Lengthcm表示DBGrid要判断的条件字段
 
楼上可以。
 
后退
顶部