新人提问,求高手解答
我想在添加这个窗口添加数据后,主窗体也刷新数据,这个问题我想了很久了,还是没得到解决,所有想来这里碰碰运气,望高手们求救,毕业项目的 --------------------编程问答-------------------- 很简单的操作,如果是datagrid
set datagird1.datasource=rs 后,显示数据,那么
rs.addnew 后,datagrid会自动显示添加,你根本不需要添加任何代码
--------------------编程问答--------------------
不好意思,不是很懂,究竟是在那个窗体上,能讲得详细些么?高手,我比较初学者 --------------------编程问答-------------------- 你怎么加载数据显示出来的?
添加完成后,再调用一下显示数据的代码。 --------------------编程问答-------------------- 添加完后 重新加载数据就行了 让 2个窗体都重新加载 --------------------编程问答-------------------- 注意你的Conn对象,一定要是公共的,比如放到模块里,用个Public来定义Conn对象。 --------------------编程问答-------------------- 你的主窗体是如何获得和显示数据的? 把那个模块前缀改成Public, 然后在这个窗体里面调用一下即可.
或者直接更改主窗体的form_load事件为public, 直接调用重新加载. 这都是比较"粗"的办法. --------------------编程问答-------------------- 我个人建议从结构上解决,例如把数据库操作封装起来成为一个类或窗体,这里假设是一个类ClassDB.
这个ClassDB类里面设计一个事件DataChanged,当数据有改变时就触发这个事件.
然后在一个标准模块中定义一个全局对象(Public oPubDB as ClassDB),并让工程从Sub Main启动,在Sub Main中对oDB初始化.
然后每个窗体中都定义各自的私有对象oDB,然后Set到这个全局的oPubDB.
接着就方便了.当有新数据输入后,可以在类里面触发事件:
界面(即窗体)------[输入数据]----->ClassDB------>产生DataChanged事件
而每个窗体由于都有一个SET到公共对象oPubDB的私有对象oDB,那么有DataChanged事件产生时大家都能收到,然后就可以在这个事件里更新界面了,代码方面非常少,而管理这种同步更新的消息却很方便. --------------------编程问答-------------------- 呵呵,老马,对新人要求高了一点吧?
楼主,看你的单元格五颜六色的,怕不是 DataGrid 吧?
提问题时要把自己的实现说清楚。因为解决方法是随你的实现而异的。
如果你是用 MSHFlexGrid 绑定记录集的,那么:
rs.Requery 就可以了。
--------------------编程问答-------------------- 不过却是比较好的结构呀.我就常用这种结构,挺方便.
补充:VB , 网络编程