如何动态改变DBGrid的表行颜色? 代码如下: Dbgrid1.cancas.font.color:=clred; //红色 dbgrid1.defaultdrawcolumcell(rect,datacol,colum,state); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 bpc的方法不行,不是在DrawColumnCell事件中。 下面是我在程序中用的一段代码, 供你参考procedure TMainFrm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if DataMoudle.Query1.FieldByName('CLBZ').asBOOLEAN=TRUE then begin DBGrid1.Canvas.Brush.Color:=clBtnFace; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.Font.Color:=clBlue; DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State); end;end; 先给某table添加一个新字段"aa",再加入如下代码就可以实现了。procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if table1.FieldByName('aa').asstring='001' then begin DBGrid1.Canvas.Brush.Color:=clred; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.Font.Color:=clBlue; DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State); end;end;procedure TForm1.DBGrid1DblClick(Sender: TObject);begin table1.Edit; table1.FieldByName('aa').asstring:='001';end; 大虾们说来说去,还是没逃掉DrawColumnCell事件,请看问题具体内容! 三维实体布尔运算 sql语句请教? 谁用过ThemeEngine??!~~ 在MDI窗体问题? 打印中一些问题的解决方法 (taogou) 请高手解答,高分相送!! 100分!!密码验证问题在线等待。。。。。。。。。。。。 我怎样动态来改变别名所指数据库的路径哪? 高手来看下这个代码。付费修改,关于进程隐藏 mynumcn:=QRExpr2.Caption; ,我想得到QRExpr2中的计算的结果,而不是表达式? 有个简单的问题,送送分也好 Delphi操作Access数据库
procedure TMainFrm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DataMoudle.Query1.FieldByName('CLBZ').asBOOLEAN=TRUE then
begin
DBGrid1.Canvas.Brush.Color:=clBtnFace;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.Font.Color:=clBlue;
DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);
end;
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin if table1.FieldByName('aa').asstring='001' then
begin
DBGrid1.Canvas.Brush.Color:=clred;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.Font.Color:=clBlue;
DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);
end;
end;procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
table1.Edit;
table1.FieldByName('aa').asstring:='001';
end;