如何在DBGrid中布尔形数据显示为:为真时打一个"勾",为假时空白 如题,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Fields Editor中设置该字段的DisplayValue为:√ 自己画。 附代码: dbgPPO : dbgrid , adoqryPPO : datasetprocedure TSPChargeForm.dbgPPODrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);var left :integer;begin if Column=dbgPPO.Columns[0] then begin left :=Round((Rect.Right-Rect.Left-10)/2); dbgPPO.Canvas.Brush.Color :=clWhite; //去掉阴影 dbgPPO.Canvas.FillRect(Rect); dbgPPO.Canvas.Pen.Color :=clblue; //clTeal dbgPPO.Canvas.Pen.Width :=1; dbgPPO.Canvas.MoveTo(Rect.Left+Left,Rect.Top+3); dbgPPO.Canvas.LineTo(Rect.Left+Left+10,Rect.Top+3); dbgPPO.Canvas.LineTo(Rect.Left+Left+10,Rect.Top+13); dbgPPO.Canvas.LineTo(Rect.Left+Left,Rect.Top+13); dbgPPO.Canvas.LineTo(Rect.Left+Left,Rect.Top+3); if adoqryPPO.FieldByName('ID').AsString='Y' then begin dbgPPO.Canvas.MoveTo(Rect.Left+Left,Rect.Top+6); dbgPPO.Canvas.LineTo(Rect.Left+Left+4,Rect.Top+11); dbgPPO.Canvas.LineTo(Rect.Left+Left+12,Rect.Top+1); end; end;end; 同意Snakeguo(楠) (莫等闲&up2myself) 设置下就可以的 用TopGrid或是DxDBgrid或是DbgridEh或是……去www.51delphi.com里面随便找一个就可以实现 用控件吧!有现成的为什么不用,Express的dxDbGrid就可以 了 关于ini文件连接数据库 XP下D6写的程序在98下打开出现地址冲突求教 Tmaskedit中的问题? 能否截取隐藏窗口的图像? delphi 为什么我写的程序在window98下运行不了 超强通用多媒体管理信息系统,免费下载,无时间限制,无次数限制!还不动心? 今年最后一次散分,并问两个小问题 这个怎么实现的? C++Builder及VC中如何使用Delphi的Dll 求Delphi检测网络流量 为什么Locate就回提交数据呢? 怎样取得屏幕上任一个点的颜色值???(在线等待....................)
附代码: dbgPPO : dbgrid , adoqryPPO : dataset
procedure TSPChargeForm.dbgPPODrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
left :integer;
begin
if Column=dbgPPO.Columns[0] then
begin
left :=Round((Rect.Right-Rect.Left-10)/2); dbgPPO.Canvas.Brush.Color :=clWhite; //去掉阴影
dbgPPO.Canvas.FillRect(Rect); dbgPPO.Canvas.Pen.Color :=clblue; //clTeal
dbgPPO.Canvas.Pen.Width :=1; dbgPPO.Canvas.MoveTo(Rect.Left+Left,Rect.Top+3);
dbgPPO.Canvas.LineTo(Rect.Left+Left+10,Rect.Top+3);
dbgPPO.Canvas.LineTo(Rect.Left+Left+10,Rect.Top+13);
dbgPPO.Canvas.LineTo(Rect.Left+Left,Rect.Top+13);
dbgPPO.Canvas.LineTo(Rect.Left+Left,Rect.Top+3); if adoqryPPO.FieldByName('ID').AsString='Y' then
begin
dbgPPO.Canvas.MoveTo(Rect.Left+Left,Rect.Top+6);
dbgPPO.Canvas.LineTo(Rect.Left+Left+4,Rect.Top+11);
dbgPPO.Canvas.LineTo(Rect.Left+Left+12,Rect.Top+1);
end;
end;
end;
里面随便找一个就可以实现
Express的dxDbGrid就可以 了