求助:窗口联动数据变化 我有一个Form1,其中是combobox用来显示数据列表用的,且有一个按钮用来操作添加,当点击这个按钮的时候打开Form2(用showModal打开,TForm2.Create(Self).ShowModal;),我要在Form2中添加完数据在数据库中关闭窗口后刷新Form1中的combobox下拉显示增加的数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if form2.showmodel= mr_OK then cbb1.Items.Add('a'); 有两种方法:一种:在FORM2的 close事件中直接写: FORM1. cbb1.Items.Add(""" );定义全局变量: 在form2中给 全局变量赋值,FROM2 关闭后,在FORm1中引用。 说下思路吧:1、Form2负责维护数据,和Form1没关系2、Form2 关闭后Form1刷新下拉框的选项重点在这里Form1的按钮事件里 Form2.Showmodal; Freeandnil(Form2); //Form2 将新选项添加到数据库就可以了,不要操作Form1,用完就释放掉 ComboBox1.items.Clear; //清除旧的下拉框里的选项 AddList事件; //此处从数据库里获取新的选项,这个事件可以在Form1.Show里使用,优化下代码清楚我的意思吗? 在Form中宣言一个刷新Combobox1的过程。Form2关闭时,调用Form1的 刷新Combobox1的过程。 更一般的方法可以用消息通知,Form2里保存数据到数据库成功了,发个消息通知Form1数据变化了,这样可以解耦Form2和Form1 的关联,也可以不限定Form1在什么事件里刷新数据。现在的Delphi支持观察者模式了(发布/订阅),很方便的。参考System.Messaging单元。 很简单啊,既然你的 Form1 uses 了 Form2,你在 Form2 的 Interface 里声明一个变量,把你需要刷新的值放在这里,Form2的OnClose里把值放到那里,Form1的 Form2.ShowModal 后就从那个变量取数据就是了 这个问题很简单,这么些就可以了:TForm2.Create(Self).ShowModal;在这里直接写你的刷新过程就行了 因为ShowModal;是模态显示,所以,关闭Form2才会执行后续代码,所以,在ShowModal;之后直接调用刷新过程即可 年前,心情好,散分 如何将文件夹中的图片批量导入数据库 求 Delphi7.0+Rose 项目开发实践 的随书光盘 SQL移动问题 简单 怎么用Delphi写清除IE的上网历史记录? 請問為甚麼這條SQL在ACCESS有結果但在DELPHI中不行? DelPhi 如果连接MS-SQL和ACCESS数据库??(急) 我用的报表打印怎么只打印一页? 怎样判别DBgrid的单元格中输入的内容是否符合要求!急切盼复!想过个好快乐节日!大家节日快乐! 刷卡机的问题 急呀,请教一下,窗体间如何进行变量值的传递???? 求delphi7的基礎入門&進階學習視頻資源,高分獻上~~
cbb1.Items.Add('a');
定义全局变量: 在form2中给 全局变量赋值,FROM2 关闭后,在FORm1中引用。
1、Form2负责维护数据,和Form1没关系
2、Form2 关闭后Form1刷新下拉框的选项
重点在这里
Form1的按钮事件里
Form2.Showmodal;
Freeandnil(Form2); //Form2 将新选项添加到数据库就可以了,不要操作Form1,用完就释放掉
ComboBox1.items.Clear; //清除旧的下拉框里的选项
AddList事件; //此处从数据库里获取新的选项,这个事件可以在Form1.Show里使用,优化下代码清楚我的意思吗?
Form2关闭时,调用Form1的 刷新Combobox1的过程。
现在的Delphi支持观察者模式了(发布/订阅),很方便的。参考System.Messaging单元。
TForm2.Create(Self).ShowModal;
在这里直接写你的刷新过程就行了