在dbgrid中(或者dbgrideh)我想要达到这样的效果 只要是字段(name)值=‘asd’的 我就让这个CELL的颜色为clred 并且‘asd’字体为红色 谢谢
解决方案 »
- 请教控件OpenDialog控件的使用
- 一个弱弱的问题,TADOQuery的FilterOptions属性为什么不可用?
- 在INDY中的Idtcpclient的readln方法中,是不是没有读到就一直等待???没分了,下次给
- 今天真TMD憋气,散分!
- paradox的数据库,弹出用户名和密码,怎么办?
- 关于数据加入不成功
- C++转成DELPHI语句,很急,请帮帮忙(100分)
- >>>>>>>>关于DBGRID控件的简单问题〈〈〈〈〈
- 设计菜单时怎样加一条为横线的菜单项
- 在Delphi的Table控件中如何实现纪录的物理删除
- 在线等高手解决(急!!!!!!!!!!!!!!)
- 总出现“ora-00093:sql命令未正确结束"的错误!
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if TDBGrid(Sender).DataSource.DataSet.FieldByName('name').AsString = 'asd' then
begin
TDBGrid(Sender).Canvas.Brush.Color := clRed;
TDBGrid(Sender).Canvas.Font.Color := clBlue;
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if AdoTable1.FindField('name').AsString = 'asd' then
begin
DBGrid1.Canvas.Brush.Color :=clred;
end;
DBGrid1.Columns[1].Title.Font.Color:=clred;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if lowercase(Field.FullName) = 'name' then
begin
if field.AsString <> 'asdthen
begin
SetBkColor(TDBGrid(Sender).canvas.handle, clred);
TDBGrid(Sender).Canvas.TextRect(rect, 0, 0, field.AsString);
TDBGrid(Sender).Canvas.Textout(rect.Left, rect.Top, field.AsString);
end
else
setbkcolor(TDBGrid(Sender).canvas.handle, clSkyBlue);
end;
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Rec:TRect;
begin
if (TDBGrid(Sender).DataSource.DataSet.FieldByName('name').AsString = '2') and (DataCol=1) then
begin
TDBGrid(Sender).Canvas.Brush.Color := clRed;
TDBGrid(Sender).Canvas.Font.Color := clBlue;
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
// DataCol是当前的列索引,以上是把第二列改变