具体是这样的,有3个窗体如下:
1、主窗体mdi窗体 :mainFrm
2、子窗体1 :listFrm 有个datagridview控件显示列表
3、子窗体2 :newFrm 新增记录
如何实现在mainFrm中 listFrm不关闭的情况下,当newFrm中保存完后,刷新listFrm中datagridview的数据?尝试了好多方法,都没搞定,好菜啊,求帮助求帮助!!!!
直接事件搞定就行了。你新增的时候,后台肯定是有一个list类的集合,你是往这里面增加。你自己新增一个事件委托,当这个集合新增数据的时候触发。然后你的第一个界面上面绑定这个事件。这样你第二个界面新增东西的时候,自然会触发第一个界面
补充下,别用楼上一些什么刷新之类的思想。记住你的是native程序,别搞得和bs的页面一样。那个是因为很多受制于bs架构,很多没办法。桌面程序,就要有自己的效率优势
嗯,同意你的观点,跟@LowerAI 说的意思大致相同,我捣腾了一上午也没捣出来,真是无语,每次都觉得就差那么一点点。
还有,怎么给分啊,难道非要点结贴?
事件,用事件搞定
能详细些吗?最好能写个实例看看效果,我之前也认为很easy,结果搞了好几个小时也没搞定。
现在暂时曲线救国了一下,把mdi里面的窗体都关了,然后重新打开listFrm,但觉得很土,决定明天继续,休息一下,明天来。
这3个之间应该是有关系的,找到这个关系就ok了啊。
这个问题应该不难吧!你把这几个窗体,和相关的控件之间的关系搞清楚,通过对应的操作事件来响应你的操作!!
1、主窗体mdi窗体 :mainFrm
2、子窗体1 :listFrm 有个datagridview控件显示列表
3、子窗体2 :newFrm 新增记录(新增成功后,是否自动关闭这个窗体?是:则在关闭的时间获取listFrm 的datagridview控件,清空当前的数据后,再重新绑定一下数据。。。。。)
在newFom中定义一个保存完成的事件并在保存成功的时候触发,在listForm中注册该事件并编写相应的事件处理函数,至于事件怎么定义怎么触发请使用园子的搜索功能。
嗯,感觉这个思路不错,待会儿有空试试,谢谢。
各位高手,如果有处理过这种情况的,说说您的处理方式,帮帮忙吧
如果还没搞定的话,那加我Q吧,我刚做了个示例,应该是你想要的。503697906
不好意思,没主意到您的回复,就结贴了,下次一定仔细些
这是一个子窗体刷新父窗体的过程,可以看看这里http://topic.csdn.net/u/20080324/16/e23d685c-d2af-4eaf-b307-c89af95e2f33.html或这里http://blog.csdn.net/lz00728/article/details/7545809
通过主窗体去刷新子窗体
子窗体自定义一个委托,父窗体在子窗体保存数据里调用即可同步数据。