delphi7的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi7的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口?相关的知识,希望对你有一定的参考价值。

delphi7+SQL 2005编程。我打算Form5中的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口Form6,这样可以在Form6中查看和修改这个选中行的详细信息了。这个怎么实现?

要修改一条记录,在栅格表中点击一下,就出现一个新的窗口,这新窗口上显示的信息,正是你在栅格表中点击的那条信息,很神奇吧,其实这很简单,From6.edit1.text:=Form5.edit1.text 这也是一种办法,但这种办法不好,不能直接实现你的目的,修改数据。最好的办法是什么呢,点击窗口与修改窗口共用一个数据集组件,当点击栅格表事件发生时,数据集的指针就移到了你点击的那条记录,这是DELPHI数据集组件和栅格表本身的功能,不需要写代码的,因此点击时你只要form6.show一句代码就行了.重头戏在form6的显示事件中,在此事件中,你要做两件事,第一件,是要清除form6窗体上所有编辑控件中的数据;第二件,也就是最主要的,是将数据集组件中当前记录(指针所指的记录)中的各个字段的值,都赋值给form6窗体上各个数据编辑组件的TEXT属性,当窗体form6显示出来时,上面就有你需要的数据了.你在form6上再放一个保存修改按钮,在这按钮的单击事件中,写上保存修改的代码,,这样你就可以大功告成了. 参考技术A 如果你只是想把dbgrid里行值传过去,有两种方式
1种是读取dbgrid行与列的值,DBgrid可能会有相当多的字段,不是唯一值,如果你用行列方式可能要多个变量!!!
2种是把当前选中的DBGrid后台挂接的数据库的记录传过去,!推荐你选第二种!
参考技术B 要在Form5中use一下From6
然后就可以给From6中的控件赋值了
可以用
From6.edit1.text:=Form5.edit1.text 样式了。追问

“From6.edit1.text:=Form5.edit1.text 样式了”,太模糊了。讲清楚点。我可以想将form5中选中行的dbgrid传值过去

追答

From6.edit1.text:=Form5.edit1.text
这句话就是传值呢,把Form5.edit1.text的值传给From6.edit1 了。

追问

我指的是将dbgrid选中行的值传给新窗口Form6

追答

原理是一样的,你把Form5.edit1.text换成dbgrid的内容就行了。
Form6.edit1.text:=dbgrid.Fields[1].Text;
或者是用adoquery进行传送也可以。
Form6.edit1.text:=ADOQ_List.FieldByName('XX).AsString

本回答被提问者采纳

为啥我的modelsim创建的文件图标是记事本样式的,而双击后却没有弹出Verilog编辑框,二是记事本。

求哪位大虾帮我看看是不是哪些设置出了问题?

你将.v文件的默认打开程序设置成记事本了, 改成modelsim 就行了。 另外, 你也可以先打开modelsim, 然后 打开.v文件 参考技术A 应该是你用记事本打开过,然后设置成始终用记事本打开了,右击v文件的图标有没有打开方式的选项,或者属性里能不能更改打开方式, 参考技术B 随便写个后缀是.V的文件,右键属性--更改打开方式为modelsim

以上是关于delphi7的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口?的主要内容,如果未能解决你的问题,请参考以下文章

双击后如何取消选中单选按钮?

delphi中的dbgrid数据操作

java swing 编程中,如何实现点击按钮弹出新的窗口???

怎么 得到 DBGrid选中行的数据

为啥我的modelsim创建的文件图标是记事本样式的,而双击后却没有弹出Verilog编辑框,二是记事本。

Delphi中点击DBGrid中某一单元格时,后面出现个按钮可以点进去,出现一个新窗体,进行选择。