起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 193|回复: 10

窗体间数据同步**

[复制链接]
发表于 2008-10-20 19:10:08 | 显示全部楼层 |阅读模式
启动了两个功能 功能1、功能2,在功能1里面操作某部分数据后要在切换到功能2时,在功能2里面的主窗体上反映出来。我现在的做法是在主窗体激活事件里面刷新数据集,但是并没有刷新出来,请问下该如何写代码实现上面提到的功能,谢谢
回复

使用道具 举报

发表于 2008-10-21 08:29:22 | 显示全部楼层
首先去数据库看看数据是否已经提交进去,然后确认是否执行了刷新代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-21 13:01:38 | 显示全部楼层
数据库是改变了,因为重新打开窗体就可以看到改变的数据,看下我的截图:

11111.jpg

33.82 KB, 下载次数: 91

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-21 13:10:14 | 显示全部楼层
截图中的那条记录切换到“待出许可证”页面,没有刷新出来,没有触发窗体激活事件,
回复 支持 反对

使用道具 举报

发表于 2008-10-21 13:17:38 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2008-10-21 13:24:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-21 17:26:14 | 显示全部楼层
现在初始化运行时出现方法不存在,停在下面代码:
ObjectHelper.CallMethod(AContainer.Func.MainForm, 'RefreshData', []);
回复 支持 反对

使用道具 举报

发表于 2008-10-21 17:28:58 | 显示全部楼层
用stdiohelp搜索
------
NameSpace: Business.System
--------------------------------------------------------------------------------
ObjectHelper = class(System.Object)
public
  constructor create; overload;
  static function CallMethod(o: TObject; methodName: string; methodParams: array of TObject): TObject; overload;
  static function CreateInstance(type: Type; Params: array of TObject): TObject; overload;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-21 18:13:39 | 显示全部楼层
好像是功能主窗体中没有定义“RefreshData”这个方法,初始化运行就会报错,这时的异常处理语句不起作用。不是说功能主窗体中没有此方法也没关系的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-21 18:15:03 | 显示全部楼层
你们的解决办法中这样写的
=====================================================
在自己的功能窗体上定义一个RefreshData方法
procedure TMainForm.RefreshData;
begin
  DataSetBroker1.DataSet.Refresh;
end;
这样当功能窗体切换时候,就会调用这个RefreshData方法了,如果窗体上没有定义这个方法,就什么也不做
=================================================================
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 00:35 , Processed in 0.045037 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表