说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi的DBGrid中插入其他可视组件

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi的DBGrid中插入其他可视组件

Delphi提供了功能强大的 DBGrid组件,以方便进行数据库应用程序设计。但是如果我们仅仅利用DBGrid组件,每一个获得焦点(Grid)只是一个简单的文本编辑框,不方便用户输入数据。Delphi也提供了一些其他数据组件来方便用户输入,比如DBComboBox,DBCheckBox等组件,但这些组件却没有DBGrid功能强大。Delphi能不能象Visual Foxpro那样让DBGrid中获得焦点网格可以是其它可视数据组件以方便用户呢?其实我们可以通过在DBGrid中插入其他可视组件来实现这一点。

Delphi对DBGrid处理的内部机制,就是在网格上浮动一个组件——DBEdit组件。你输入数据的网格其实是浮动DBEdit组件,其他未获得焦点地方不过是图像罢了。所以,在DBGrid中插入其他可视组件就是在网格上浮动一个可视组件。因此任何组件,包括从简单的DbCheckBox到复杂的对话框,都可以在DBGrid中插入。下面就是一个如何在DBGrid中插入DBComboBox组件的步骤,采用同样的办法可以插入其他组件。

1、 在Delphi 4.0中新建一个项目。

2、 分别拖动的Data Access组件板上DataSource、Table,Data Controls组件板上DBGrid,DBComboBox四个组件到Form1上。

3、 设置各个组件的属性如下:

rcf1对象 属性 设定植

Form1 Caption '在DBGrid中插入SpinEdit组件示例'

DataSource1 DataSet Table1

Table1 DatabaseName DBDEMOS

TableName 'teacher.DBF'

Active True

DBGrid1 DataSource DataSource1

DBComboBox1 DataField SEX

DataSource DataSource1

Visible False

Strings Items. '男'| '女'

意:我在这里用了Teacher.dbf,那是反映教职工的性别,只能是“男”或者是“女”。

4、 DrawDataCell事件是绘制单元格,当获得焦点网格所对应的字段与组合框所对应的字段一致时,移动组合框到获得焦点的网格上,并且

使组合框可视,从而达到在DBGrid指定列上显示DBComboBox的功能。设置DBGrid1的OnDrawDataCell事件如下:

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);

begin

if (gdFocused in State) then

begin

if (Field.FieldName = DBComboBox1.DataField ) then

begin

DBComboBox1.Left := Rect.Left + DBGrid1.Left;

DBComboBox1.Top := Rect.Top + DBGrid1.top;

DBComboBox1.Width := Rect.Right - Rect.Left;

DBComboBox1.Height := Rect.Bottom - Rect.Top;

DBComboBox1.Visible := True;

end;

end;

end;

5、 DBGrid指定单元格未获得焦点时不显示DBComboBox,设置DBGrid1的OnColExit事件如下:

procedure TForm1.DBGrid1ColExit(Sender: TObject);

begin

If DBGrid1.SelectedField.FieldName = DBComboBox1.DataField then

begin

DBComboBox1.Visible := false;

end;

end;

6、 当DBGrid指定列获得焦点时DrawDataCell事件只是绘制单元格,并显示DBComboBox,但是DBComboBox并没有获得焦点,数据的输入还是在单元格上进行。在DBGrid1的KeyPress事件中调用SendMessage这个 Windows API函数将数据输入传输到DBComboBox上,从而达到在DBComboBox上进行数据输入。因此还要设置KeyPress事件如下:

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);

begin

if (key < > chr(9)) then

begin

if (DBGrid1.SelectedField.FieldName =DBComboBox1.DataField) then

begin

DBComboBox1.SetFocus;

SendMessage(DBComboBox1.Handle

WM_Char

word(Key)

0);

end;

end;

end;

程序在中文Windows 98,Delphi 4.015 下调试通过。希望本文能使你可以更加方便快捷的开发数据库应用程序。

使用Javassist库为Bytecode Instrumentation开发JVM Agent 内容解析创业公司Stremor推出4款API 2013中国云计算榜单之三:174家云应用服务商,繁花似锦! 盘点各大云服务提供商:麦当劳=AWS,汉堡王=? BlackBerry Jam亚洲开发者大会9月将在香港开幕 把服务器搬进来:Splashtop在中国搭建Bridging Cloud Web框架全对比第五期 新增Windows环境 前Tumblr首席开发者回忆录:一个人也能开发出好产品 测试者和开发者,为何我们不能友好地相处? 讲师秀之11:何刚谈京东的云机遇 讲师秀之10:武汉大学张焕国教授,可信计算是云计算之成败关键 【上海直播】Windows Azure+世纪互联:中国云计算“烈火烹油” 最新版Chrome浏览器推出全新语音搜索功能 惠普第二财季净利润同比下滑32% PC和服务器销售不佳 讲师秀之11:网易汪源的成长故事 PPT集萃(三):六位国内技术大牛分享巨型平台的打造与应用 聚焦全球移动市场:创新以色列 科技巨头的倾慕之地 Android版Chrome 27浏览器正式上架 机器人——数据中心的新“网管” George Chu:在雅虎打造真正的工程师文化 2013,303+家中国云计算企业的“生态系统”之梦! 高访问量Web应用跨云端迁移的原因:权限和易用性 Web应用开发者福音 Chrome 28新增丰富通知中心功能 帷千兰旭:推广渠道鱼龙混杂,开发者请小心 关于IE 10 你应该知道的6件事 Spring Framework 4.0M1发布,支持JDK 8、Java EE 7 “渣打科营编程马拉松赛”正式启动 官网同时上线 Android应该支持OpenCL的十大理由 传谷歌考虑和Facebook竞购众包地图Waze 谷歌工程师再次公布Windows漏洞 并称微软很难合作 Glassdoor评前景最令员工乐观的十大科技公司 华为上榜 为什么运行时正常的程序,编译成可执行文件后运行过程中出错... 怎样填充按钮客户区? 寻找图书~?? 请问如果数据量很大,比如大型企业的即时采集数据,应该用什么数据库系统处理呢?oracle,sysbase,db2,sqlserver还是cobol?? 这么简单的问题,难道就没有人能帮我了吗?!太遗憾了! 敬一杯“情人醉”给MM_mimi(人淡如菊),别人不要进来呀! 谁有过同样的遭遇??? 长整数除法的算法?? 关于Java Plug-in和Applet的一个问题 请求推荐有关SDK的好书!!!!!!! 我受不了了 个人主页链接如何让鼠标变成手形?谢谢! 老话题:三层结构中blob字段的存取出问题了? run-time类是怎么回事? 当多个程序对同一个文件进行读写操作,如何防止同时写入造成混乱? 求银行家算法的c程序! 请问W2K下面鼠标阴影的效果是用哪个API实现的? 我提议有编程经验的朋友们,一起来研究一种真正符合我们实际开发工作的模板 我用上kylix了!!!!!!! 请教,关于NT域用户的问题!NT账号,怎么设定唯一性呀?比如有aa的用户,我用aa登陆后,别人不能用aa同时登陆了?应该在那儿设置呀? Mfm1992?是个什么东西呀! 如何在informix/esql c中使用大事物? 如何保存收下來的email呢???!!!!! 关于一个网站建设的问题,望高手指点。 求救;如何建立一个登陆页面? 谁能给出一个远程访问互联网ACCESS数据库的经典代码?有28分送上! 怎样将-个十六进制数转换为十进制? 如何将java程序编译成dll文件 cannot focus a disabled or invisible window 一表我想通过文本框来增加记录,为何不能发送到表中,不要告诉我是没有post的原因。 奇怪,borland的开发能力这么强,为什么几乎没有一个象office那样流行的应用软件呢?如果它的应用软件很多,就不会象现在这样穷了吧? Delphi 数据库不如Power Builder 吗? 请问怎么安装新的控件? B样条曲线:如何由经过点反算控制点? Berzer曲线:如何由经过点反算控制点? 关于activereport的字符集问题 有没有计算曲线长度和交点的好方法? Install Shield For VC6怎么用???????????????????? ODBC数据库 ****有没有计算曲线长度和交点的好方法? ****Berzer曲线:如何由经过点反算控制点? ****B样条曲线:如何由经过点反算控制点? 有谁知道"边缘频率"、"中间频率"、"双频分析" 请问oicq登陆以后的住界面的我的蚝油dock是如何实现的,是什么vcl,或者自己写,如何实现?请指点! pfc的好处? 一个伪程序员的自白 不但给分,还给¥ 散分给喝过酒兄弟姐妹们(今天心情很不好,我深爱的人不爱我,苦痛,郁闷,多喝了几坛,请ghj1976、3B、roani谅解,最后一坛酒,感谢水园的朋友们) 怎样准备高程考试,还有三个月! 人生自古谁无错 -- 对青年时代的林仙儿心理活动的分析 小的大三,放暑假了,现在上海找一个单位实习,各位知情者请告知,定重谢! 北师大版 16页第1,2,题 八年级下册数学书复习题16的8~12题(过程)人教版的 推荐一些简单的英文歌曲,适合学英语的.要好听一点的,最好是安静一点的.本人英语不太好~不要太慢的、想my love的速度差不多. 要用解比例的方法做,在一幅比例尺是1:2000000的地图上,量得甲,乙两个城市之间高速公路的距离是5.5cm.在另一幅比例尺是1:5000000的地图上,这条公路的图上距离是多少?学校举行团体体操表演, 八年级下册数学课本习题答案数学课本p90面的练习1、2、3p120面的练习2、9、p90习题的4、5、7、9、10、11、14、拜托了, \ 六年级下册数学题,就一道!数与代数这部分的题1.什么是十进制计数法?你还能说出那些计数单位?2.怎样比较两个数的大小?3.分数的基本性质和小数的基本性质有什么关系?4.小数点移动位置,小 鲁教版八年级下册数学课本习题答案 六年级下册数学44页第一题怎么写? 一道六年级下册数学题走50米的距离.第一次走79步,第二次走80步,第三次走81步.丁明走一步的平均长度是多少米? P104习题19.2 第十四题 复习题19 P122 第十二至十五题~ 六年级上册数学书100页答案 在一个长五分米、宽四分米、高六分米的鱼缸里,放入一个底面积为十二平方分米的小圆柱(完全浸没),水面上升了二分米,这个小圆柱的高是多少分米? 八年级下册数学课本习题19.我们这章学的是 特殊的平行四边形第4题:在Rt三角形ABC中,∠C=90° ,AB=2AC,求∠A,∠B的度数!第9题:在Rt三角形ABC中,∠ABC=90°,CD⊥AB与点D,∠ACD=3∠BCD,点E 人教版六年级下册数学课本100页答案我只要第7题式子.在长12.4,宽7.2的长方形纸中,剪半径是1厘米的圆,能剪几个?结果要是28,求式子. 六年级下册的一道数学题比例问题:买A、B两种不同的书籍共200本,已知A种书每本4元,B种书每本6元.买来后发现两种书所用的钱数一样多,求A、B两种书各买了多少本? 八年级上册人教版数学课本习题15.1第6、10、11题答案 1:什么是十进制计数法?你能说出哪些计数单位?2:怎样比较两个数的大小?3:分数的基本性质和小数的基本性质有什么关系?4:小数点移动位置,小数大小会发生什么变化?5:因数、倍数、质 数学书六下102页18道希望当天回答 人教版八年级上册数学课本习题12.1第三题答案 六年级下册数学书第77页答案写详细 六年级数学书下第102页第13题怎么做? 义务教育课程标准实验教科书八年级数学下册第16章 分式 第九页 7页第七.求 苏教版的 六年级下册数学书答案86页2.3.4.5题p86-2解方程X-0.25=1/4 X/4=30% 4+0.7X=102 2/3X+1/2X=42P86-3一种树苗实验成活率是98%,为了保证成活380棵,至少要种多少棵树苗?p86-4绿化队为一个居民 八年级下华东师大版数学课本第十七章分式的全部习题答案 有的话追加到100 练习题 及习题 苏教版的六年级数学书上册的第二页第7题(2)小题 人教版八下数学书上的复习题17答案 几道分式计算怎么做 试卷的题 带图顺便讲解下, 小学数学六年级上册练习与测试12-15页答案 第几页第级题写清楚 P120到P122习题的全部答案、(5、8、9、14、15题做完了、不需要答案) 八下数学第三章 分式练习题1、当x等于什么数时,下列分式值为0?(x+2)(x+3)————— ←这是分数线x^2-42、已知x/2=y/3=z/1/2,则(x+3y-z)/(2x-y+z)的值是______3、如果a+1/a=3,那么分式a^2/a^4+a^2+1=_____4、化 小学数学六年级上册练习与测试111页到114页答案 八年级下册数学书复习题19答案急需呀,请你们帮帮忙吧 已知a+b+c≠0,(2a+b)/c=(2b+c)/a=(2c+a)/b=k,求k的值.请详解公式的含义等.已经知道答案是3,利用的是三个分式的分子相加比上分母相加.但是这个利用的哪个公式呢?什么样的定义,谁提出来的公式定义, 练习与测试小学数学6年级上册第12页第2题怎么解答? 数学八年级下册书复习题18的答案 新人教版八年级数学上册课本习题11. 一部分也可以。1.男生人数是女生的1.2倍。如果女生有x人,男生和女生一共有()人,男生比女生多()人。2.水果批发市场运来苹果3.5吨,运来的梨比苹果的2倍多0.1吨,运来的梨有()吨。3. 人教版 还有d62666 - 四级 2010-4-16 22:57 感谢语或评论:您还可以输入字输入内容已经达到长度限制可以输入49字 如果您对这一回答非常满意,您可以选择给回答者额外的奖励:0 5 10 15 20 30 40 50分 八年级上册数学课本习题11.2答案人教版的,急! 小学数学练习与测试6年级上册期中测试答案也就是43、44、45页答案,应用题算式尽量列出来好的给分!!! 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急 八年级下册数学复习题19答案.告诉我答案吧 八年级下册数学教科书练习题16.3答案 急 求高手做完形填空We just don't treat each other 1. as thatlike thatthe way we used to. I suppose we don't have the time, 2. orbuthowever our lives are too difficult or something. Maybe the city 3. I liveI live inwhere I live in is too big. 人教版八年级下册数学习题16.2的第1题和第7题答案. 八年级上册数学课本44到45页练习答案..谁知道请告诉我一下.谢谢 初三完形填空题There are two kinds of music in the world-one is written down and the other is not.many people earn their living ____music.they write songs for pop stars and music for films and TV plays.they usually write exact institutions on _ 八年级下册人教版数学91页第9题怎么做? 北师大版八年级下册数学课本 19页第2题如图,在正方形ABCD中,AB等于4 AF=2 DF=1 ,图中有几个直角三角形?你是如何判断的?与同伴交流 老师让这样,我看不懂有点~1:be的平方=4方+2方=202:ef平方3 问一下怎么才能把英语的阅读理解和完形做好(具体的练习方法) 人教版八年级下数学书习题19. 八年级下册人教版数学书第36页第3题答案 暑假应当怎么学英语,我是新初三. 八年级数学下册91页习题19.1第四 五 六 七 10题 暑假学英语,广州哪里去? 苏教版八年级上数学书第111页19题答案 2大题的地4小题第四大题的第二小题有的谢谢 学英语有什么好方法(关于做听力、完形填空、阅读理解之类的题)今年6月份就要中考了.在英语方面,初一的时候感觉还没什么,但到了初三后,就感觉像完形填空、阅读理解之类的题有些困
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn