以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论] 一个关于datachanged 的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2784)

--  作者:wcs
--  发布时间:2009/5/14 0:02:00
--  [讨论] 一个关于datachanged 的问题
在这个事件中,如果我设置A列数据变化后,进行一些计算

如果这些计算改变了A列的值

那是不是会进入死循环? 因为A列的值不停地 变化-执行事件代码-变化......?

如果是这样,我只有设置一个计数,大于1次,就不再执行!
--  作者:kylin
--  发布时间:2009/5/14 8:12:00
--  
从原理上说,不能“嵌套”的,你的想法基本上是对的
--  作者:狐狸爸爸
--  发布时间:2009/5/14 8:30:00
--  

除非代码每次都给A列设置一个不同于上一次的值,否则不用担心。


--  作者:cpayinyuan
--  发布时间:2009/5/14 8:44:00
--  
以下是引用wcs在2009-5-14 0:02:00的发言:
在这个事件中,如果我设置A列数据变化后,进行一些计算

如果这些计算改变了A列的值

那是不是会进入死循环? 因为A列的值不停地 变化-执行事件代码-变化......?

如果是这样,我只有设置一个计数,大于1次,就不再执行!

感觉你的设计有点问题,一般来讲,A列的DatacolChanged事件不应改变A列的值,这是基本的原则.


--  作者:wcs
--  发布时间:2009/5/14 19:49:00
--  
有时,我不想再增加一列有一过渡或者判断,因为我要解决的问题太多了。

现在看来,只有设置一个计数,在代码中判断一下,或者增加一列用于过渡。
--  作者:cpayinyuan
--  发布时间:2009/5/15 6:59:00
--  
以下是引用wcs在2009-5-14 19:49:00的发言:
有时,我不想再增加一列有一过渡或者判断,因为我要解决的问题太多了。

现在看来,只有设置一个计数,在代码中判断一下,或者增加一列用于过渡。

    不管什么样的情况,都不应在某列的DatacolChanged事件中改变当前列的值,我想不出您是何种情况下会有这种需要.如果输入某列的值后要根据一定的条件把本列的值作出改变,一般应使用DatacolChanging事件而不是DatacolChanged事件.


--  作者:wcs
--  发布时间:2009/5/15 8:09:00
--  
我尝试一个复杂的任务,要考虑很多,但又不想把数据库的结构搞得复杂,列太多了。

不得以想到这个

看来这样的解决方法是不太合理的!
[此贴子已经被作者于2009-5-15 8:09:32编辑过]