搭建论坛《搭建之星》论坛用户咨询 → 【建议】对“数据源”的“数据改变”事件修订


  共有3940人关注过本帖树形打印

主题:【建议】对“数据源”的“数据改变”事件修订

帅哥哟,离线,有人找我吗?
pc_doctor
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 卧龙樵夫
等级:首席分析师 帖子:1270 积分:7005 威望:0 精华:3 注册:2003-3-23 14:15:25
【建议】对“数据源”的“数据改变”事件修订  发帖心情 Post By:2009-8-15 22:58:46

大家一直讨论追求的实时更新字段内容(常规的需求是实时计算出结果)的问题,一直都没有一个好的方案。

通过实践,其实只要对“数据源”构件中的“数据改变”和“更改数据”两个事件进行修订即可。

一、现时问题:(比如:数据表中有字段:编号、姓名、数量、单价、金额等字段。现要求的是:只要“数量或单价字段内容发生变化,即刻计算出数量*单价=金额,并实时显示出来结果“金额”出来)

1、采用“数据源”中的“数据改变”或“更改数据”事件来设计:数量*单价=金额。那么就会造成死循环而死机。如果将 数量*单价=计算结果先存放在其他地方(如行编辑中),等数据表提交时将计算结果写入“金额”字段,这样尽管不死机,但并没有实时看见结果,特别是在某种提交之后即刻将记录剪切到其他表中时(这种应用很多,对数据安全应用很有效),就根本看不见金额值的。

这个问题的关键症结就是:“数据源”的“数据改变”和“更改数据”事件中不能指定“哪些字段的数据发生变化时,才引起事件的触发,而是只要任何数据变化就触发事件”,所以造成死循环。

二、解决之道:

1、在“数据表”或“数据源”的“属性”或“事件”中能指定“哪些字段的数据发生变化时,才引起事件的触发”就能解决问题。

一经这样修改,必将带来很大的数据管理便利。





支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
pc_doctor
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 卧龙樵夫
等级:首席分析师 帖子:1270 积分:7005 威望:0 精华:3 注册:2003-3-23 14:15:25
  发帖心情 Post By:2009-8-15 23:18:05

另,请Admin解释:在“数据表”和“ADO查询”事件中的“字段移动之前”、“字段移动之后”、“记录移动之前”、“记录移动之后”,这四个事件的具体作用和应用?

经测试:只有“记录移动之后”可以触发事件,其它三个事件都不能被触发起作用。

原本以为可以通过这个几个事件做点事的,结果未能有效。请大家测试之。




支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
引力波
  3楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:首席分析师 帖子:1554 积分:4008 威望:5 精华:10 注册:2002-12-5 10:22:01
  发帖心情 Post By:2009-8-15 23:37:15

经过测试,“字段移动之前”、“字段移动之后”、“记录移动之前”、“记录移动之后”,这四个事件有效。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
pc_doctor
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 卧龙樵夫
等级:首席分析师 帖子:1270 积分:7005 威望:0 精华:3 注册:2003-3-23 14:15:25
  发帖心情 Post By:2009-8-15 23:40:42

以下是引用引力波在2009-8-15 23:37:15的发言:
经过测试,“字段移动之前”、“字段移动之后”、“记录移动之前”、“记录移动之后”,这四个事件有效。

请引力波搞个简单的例子来证明,我测试是没有成功的。

请你也对一楼问题提出解决之道。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
引力波
  5楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:首席分析师 帖子:1554 积分:4008 威望:5 精华:10 注册:2002-12-5 10:22:01
  发帖心情 Post By:2009-8-16 0:09:39

pc_doctor,你看看这个例子,尤其是当记录移动到最后一条,就显示的比较直观了

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
pc_doctor
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 卧龙樵夫
等级:首席分析师 帖子:1270 积分:7005 威望:0 精华:3 注册:2003-3-23 14:15:25
  发帖心情 Post By:2009-8-16 0:31:42

以下是引用引力波在2009-8-16 0:09:39的发言:

pc_doctor,你看看这个例子,尤其是当记录移动到最后一条,就显示的比较直观了

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:

谢谢!

但没有看懂该例子的实用意义。

我想的是:在“数据网格”或“纵向记录编辑”构件中的直接随着鼠标或光标在字段之间或记录之间的移动而发生的字段前后移动或记录前后移动而产生事件去计算“数量*单价=金额”并实时显示。

而你的例子是需要去点击一个按钮才作出一种反应,失去了字段移动或记录移动的直观理解意义。也许是我的理解有误吗?(我理解:在这个问题上,凡是直接利用外在动作都不是理想当中的字段移动或记录移动产生的事件的实际意义)




支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
引力波
  7楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:首席分析师 帖子:1554 积分:4008 威望:5 精华:10 注册:2002-12-5 10:22:01
  发帖心情 Post By:2009-8-16 8:38:20

你要的效果实例,用鼠标移动记录发生的事件

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
pc_doctor
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 卧龙樵夫
等级:首席分析师 帖子:1270 积分:7005 威望:0 精华:3 注册:2003-3-23 14:15:25
  发帖心情 Post By:2009-8-16 11:16:50

以下是引用引力波在2009-8-16 8:38:20的发言:

你要的效果实例,用鼠标移动记录发生的事件

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:

引兄,你的例子还是没有看见“字段移动”触发的事件啊。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
ming1973
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:85 积分:1007 威望:0 精华:0 注册:2008-5-19 21:24:16
  发帖心情 Post By:2009-8-16 11:34:17

这个我知道:你只要改变“操作数据”中的“字段号_X”的值,就会触发"字段移动"事件。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
ming1973
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:85 积分:1007 威望:0 精华:0 注册:2008-5-19 21:24:16
  发帖心情 Post By:2009-8-16 11:35:55

我以前看到过相关实例,只是想不起来是哪个了。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 18 1 2 下一页

返回版面帖子列表

【建议】对“数据源”的“数据改变”事件修订








签名