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

在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 下调试通过。希望本文能使你可以更加方便快捷的开发数据库应用程序。

LeanKanban University首位中国认证讲师路宁:看板会为更多国内企业带来深刻变革 环信IM沙龙纪实:无分享不IM,无社交不未来 【工具推荐】ESL:更简洁、更高效的标准加载器 【先锋】亲加通讯云:以云服务模式为App提供社交引擎 2014中国移动开发者大调查第一批获奖名单大曝光 移动开发云服务AVOS Cloud宣布完成A轮融资 Uplinq2014:人工智能嵌入硬件 万物互联建生态 Uplinq2014:基于Vuforia的新奇智能玩具 一应俱全!开源跨平台3D应用开发框架Minko 【线下技术培训】敏捷测试实战解析和系统方案 《近匠》Ping++:简单、高效、第三方支付SDK 有关编程的12个猜想 【问底】王帅:深入PHP内核(二)——SAPI探究 【CTO俱乐部走进汽车之家】活动图文实录 只为逼格?超薄便携式无线充电设备Deuce 戴尔未来重心:云计算、大数据、移动互联与安全 【讲师】搜狐于顺治:Container在搜狐PaaS平台中的应用实践 【先锋】从代码层诊断,云端OneAPM平台让开发者专注开发 阿里将推无线领域重磅计划 阿里百川无线开放大会揭晓 提升网站转化率的四步优化方案 开发者应该了解的API技术清单! 【讲师】腾讯刘永峰:Docker时代,公有云面临的挑战和机遇 移动开发工具服务商Mob推出免费短信验证码SDK 遇见他们,MDCC 2014移动开发者大会嘉宾揭秘 揭秘全球最小无线耳机背后的技术 《最终幻想》之父访谈:我为何转战F2P游戏开发 寓教于乐 11款最适合教儿童编程的学习工具 苹果iPhone6获工信部许可 本月17日在内地发售 使用Redis之前5个必须了解的事情 妆媒体微信公众号背后的酸甜苦辣 TIOBE 2014年10月编程语言排行榜:Dart首次进入前20 JAVA手机的效率问题 满分求助,网络传输碰到问题 做过通过wavecom gprs模块用AT指令发中文短信的同志帮帮忙 请问如何在网关处获取用户上网的信息? 为什么操作word出现重载“SaveAs"方法未获取16参数 HttpURLConnection中如何得到http://www.sina.com.cn后面的缺省文件名 小问题:关于MAC地址 在WINDOWS2000 ,开始菜单中的 "运行(RUN)" 在系统中是什么样的文件???? 急!! OleContainer 问题:为什么用olecontainer打开word文档速度非常慢,有没有解决的办法,多谢! 请问哪里有ASP+ACCESS 的邮件列表代表下载? dbgrid选中的问题?在线及等!!!!! 各地软件工程学院的学生都写写自己在学校学习的经历和体会! adobeacrobat 耗尽内存 如何解决 ! 新手求助:ADOQUERY控件的问题 文件与下拉列表 真搞不懂 关于办公系统及美术设计问题 API 局部放大函数 版主为什么删除我的帖子? 浏览器对象模型与文档模板(DOM)有什么不同和联系? 在datalist或datagrid中绑定的checkbox如何控制呢? 我的xp系统中ABC输入法,词组记忆功能始终不能用,请问怎么解决。 如何编程打开一些特殊窗口?如网上邻居,我的电脑属性,设备管理器 请教又一ShellListView和ShellTreeView中的问题?还望大家多多指教! 不懂!不懂!不懂!关于文档和视图。 将照片从数据库中取出,并显示到Image控件中,若当中不用文件作为临时存储行不行?? 弹出菜单怎么做 关于存储过程执行的正误判断及数据回滚问题。 关于LPCWSTR的问题? TChart的Canvas写上字后,最小化再最大化后字就没了, [2]请大家无论如何都要帮个忙,oralce存储过程性能问题,高手请进!!! 请问如何直接取得其它计算机的系统时间 如何使的 Form2 在 Form1 的 Top ? 怎样在pagecontrol的一个tabsheet中的页面加一个上下的滚动条 急!将textbox控件放入table中后无法通过controls获得textbox的id? 大家说说看!! 初来乍到,向各位学习,请大家指点一下,介绍些好的C#的WEB源码示例。 请大家帮我看看! weblogic发布servlet的问题 Fatal Error 的问题 哪里有和手机一样的笔划输入法下载. 哥哥们,问题还没有搞定,帮帮忙吧,很急呀,分不够可以加分 XDevClub.Com[X时代开发俱乐部]欢迎大家一起来讨论,来者有分 求救!!我的vc缺少一个 psapi.h 头文件!!!急用,帮忙粘贴一下,当场给分!!! 怎样更改CListCtrl中内嵌的CHeadCtrl控件的风格? 有关TChart的问题? 我怎样才能获得插入语句的ID值? 求帮助数组的问题 给分100 紧急求救 在DELPHI里执行ORACLE存储过程出错??? 当按照书名查询时,系统提示没有该索引:no index with 'bookname' field.何故 盐类是否都可以和酸反应, 请总结一下这类题规律 各位兄弟姐妹,有谁懂化学的啊!我想问一下乙二醇单丁醚与乙醇的溶油性谁更强一些啊! 化学中哪些是盐类哪些是碱类 用铅灌子弹头是为了吗打得远吗?为什么?为什么不是增大杀伤力呢? 无痛人流全过程多久?的时候去医院做人流、所以我想问一下、从我到医院到做完回家一共大概多长时间?请做过的人告诉我一声!谢谢、还有、不打消炎针、吃消炎药行么? 化学里的酸类,碱类,盐类怎么区分拜托各位了 3Q化学里的酸类,碱类,盐类怎么区分, 铝合金导电氧化处理表面附着力不好因为什么 做无痛人流的具体过程是怎么样的? 氯气会与无水乙醇反应或溶于无水乙醇吗? 我要提问;盐类物质一定含有金属阳离子吗? 如果没有大气连通器会怎样 乙醇易溶于水,甲醚不溶于水?甲醚不溶于水? 盐类物质的组成结构如何 有哪些里用大气压强工作,那些利用连通器工作?不用介绍,只要写名字,再加一句为什么就可以 1质量为20g的子弹,以300m/s的速度水平射入厚度是10mm的钢板,射穿后的速度是100m子弹受到的平均阻力是多大? 过程 C,O,Ca这三种元素组成属于盐类的物质 不锈钢201高铜,高镍,为什么近海边容易生锈? 乳胶枕的作用是什么?想先知道下. 所有的氨盐都能与NaOH的反应么?方程式都是什么? 如何判断手性原子周围基团的优先级别?比如,手性碳上连接着乙烯基,异丙基,异丁基的时候,是乙烯基大于异丁基还是异丁基大于乙烯基,为什么?不是异丁基,是叔丁基 乳胶枕有什么作用?想先试试. 所有的氨盐都能与氢氧化钠反应么?如果反应,方程式是什么? 化学一道盐类水解题同浓度的下列电解质溶液:1,碳酸钠 2,碳酸氢钠 3,偏铝酸钠 4,醋酸钠以上四种溶解的PH由大到小依次是?要解析 三氧化二铁与氯化铵的反应中,当生成2.24L氯气(标准状况下)时,发生转移的电子数目是多少? 1:求铁离子常温下在溶液中能存在的PH值范围.2:求亚铁离子常温下在溶液中能存在的PH值范围.麻烦...1:求铁离子常温下在溶液中能存在的PH值范围.2:求亚铁离子常温下在溶液中能存在的PH值范围 旋光性是否由手性基团决定? 为什么七彩圆盘转起来就能看见白光?没一楼回答的那么简单~貌似与速度\视觉有关的 电泳的巴比妥酸缓冲液可以用多少次 25摄氏度时,将一定浓度的盐酸和一定浓度的氨水按2:1的体积比混合.若混合液中铵根离子浓度等于氯离子浓度则溶液的PH值是大于还是等于或小于7 影响碳的核磁共振谱和质子核磁共振谱化学位移因素 将黄铁矿的煅烧产物四氧化三铁溶于硫酸后加入铁粉 可列备硫酸铁 酸容过程中要保持 足够 酸性原因 是什么呢 那个高手帮我下 已知乙酸(HA)的酸性比甲酸(HB)弱,在物质的量浓度均为0.1mol/L的NaA和NaB混合溶液中,下列排序正确的是A.c(OH-)>c(HA)>c(HB)>C(H+)B.c(OH-)>c(A-)>c(B-)>c(H+)C.c(OH-)>c(B-)>c(A-)>c(H+)D.c(OH-)>c(HB)>c(HA) 我生产的硅酸钠液体氯离子含量太高1000多怎么回事!怎么降低它的含量? 要除去FeSO4溶液中少量的H2SO4,可加入的物质是 1.铁粉 2.四氧化三铁要除去FeSO4溶液中少量的H2SO4,可加入的物质是 1.铁粉 2.四氧化三铁 3.氧化铁 4.氧化亚铁 5.氢氧化亚铁 D】 一道盐类水解题[例6] 将0.2mol/L CH3COOK与0.1mol/L盐酸等体积混合后,溶液中下列微粒的物质的量浓度的关系正确的是:( )A.c(CH3COO-)=c(Cl-)=c(H+)>c(CH3COOH)B.c(CH3COO-)= c(Cl-) 为什么氢氧化钠不和氨反应 润滑油会腐蚀皮肤吗 乙二醇和浓的硫酸在140度生成什么? 哪些反应生成盐类物质 脚被汽车机油腐蚀怎么办 乙二醇和浓硫酸反应140度和170度有什么区别?要方程式的…… 用什么种类的物质(什么什么盐类)和浓硫酸制取二氧化硫 一个封闭的长方体容器,里面装有水,容器的长、宽、高分别是10cm、10cm、15ccm王华同学不小心把容器碰倒了现在水的高度是多少?(没交带水的高度) 实验室生物安全管理的相关技术标准有哪些 钢芯弹,铅芯弹,普通弹有什么区别呢? 如果把铅笔中铅心的末放到香烟中的烟草点燃生成什么最好有方程式,由于小弟是新手,付不起金币,所以只能说谢谢了! GB19489《实验室生物安全通用要求》谁能帮我找下GB19489-2008《实验室生物安全通用要求》,能不能帮忙提供一份Word版的,minmin8890@163.com .急用 一个长50cm,宽40cm的长方形容器里盛有水,吧一个底面半径是10cm,高是9cm 把一块磷酸二氢钾晶体放到磷酸二氢钾溶液经过培养晶体会变大吗? 简述我国对生物安全实验室设施的管理要求. 怎样判断物质是否属于盐类初三科学,简明扼要啊 我正预习呢急啊 磷酸二氢钾晶体已用于我国研制的巨型激光器“神光二号”中.磷酸二氢钾中氧元素的质量分数多少? ‘连通器里各容器里的液面高度总是相同的’ 对不对? 哪些物质属于盐类(化学) 英语翻译乙烯醋酸乙烯酯改性砂浆 的英文翻译, 能够成为双氧水,锌的催化剂的有哪些? 亚硫酸盐都能与酸反应吗?还有那些盐类与酸反应 三不原则是什么?节约原则?处理三不原则?3Q 光合作用主要吸收蓝紫光,那为什么在影响光合作用的因素中,光照的光质是白光大于蓝紫光? 储蓄过少不敢言退 不少美国中产阶级称沙特王室称将疏远美国 美国沙特关系或1亿美国人不工作 劳动力参与率创35巴基斯坦总理访美“提携”经济合作 签英国央行维持现行货币政策 看好经济走美知名私立大学拒受贫困学生 “因财施铁路总公司:火车退票找零不再四舍五入报告称朝鲜核试验场挖新坑道 短期内不南京大学两位院士候选人就论文是否造假北京今日将对“停车超3分钟须熄火”入慈溪夫妇8万元叫女儿代存 女儿身亡后18岁小姨子和姐夫好上了 以死要挟非慈溪两岁女童掉进大锅 全身严重烫伤送男子宁波路上擦肩而过时摸女孩胸 被行宁波出台国内首个网购争议处理办法非洲牛郎门谣言案落定 涉事网站被判侵俄印蒙三国总理同日访华非偶然 政治意同济大学开启中美共建全科医学系计划南京大学两位院士候选人就论文是否造假无业男子为供养情妇和私生子 诈骗父母各省区市通报违反八项规定典型 多涉违黄晓明称3年内结婚 赶进度想和bab29日田径综述:中国3银2铜 两个接融入当地教学体系 南非孔子学院发展探澳门举行国庆牌楼主题展览(组图)卢布贬值创历史新低 涉投资恶化及油价【呼声回应】网爆云南个旧魁星阁危楼存广西:阳朔西街国旗红外媒称中印边界对峙开始撤军 披露双方肖天:大部分金牌含金量不足 足篮球表肖天:要探索有中国特色的职业三大球发山东滨州滨农科技有限公司发生爆燃 现赵芸蕾成就史上首位女双混双双满贯 获北京海外交流协会:与北京的发展脉搏同云南省首套“廉政文化”系列丛书正式出合肥“房叔”涉嫌三罪受审 收6万元帮2014中国中部(湖南)国际农博会“北京海外交流协会:与北京的发展脉搏同河南一摆渡船侧翻 8人下落不明22台农机出问题 新疆质监局全力帮农日媒:日本今年或仍将赞同《不使用核武布拉德皮特为家人挑片拍 坦言:值得我
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘