以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Value测试  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179812)

--  作者:2425004926
--  发布时间:2022/9/11 14:00:00
--  [求助]Value测试
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:value测试.rar


我测试觉得这个顺序和值不对呀,应该是离开前,再离开后
--  作者:2425004926
--  发布时间:2022/9/11 15:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:value测试2.rar


我又测试了一下,还是觉得不对

--  作者:2425004926
--  发布时间:2022/9/11 15:10:00
--  
如果输入字符,离开前的文本和值应该是不一样的

我解决的问题:
在文本变化后执行一堆代码会影响速度,所以我就想着离开前让这堆代码执行,那么就只执行一次,这样速度很快,
离开前的文本和值不一样就是判断的条件,也就是文本改变了,文本和值不一样才能执行代码,否则就不执行
用离开后就不好判断了

--  作者:有点蓝
--  发布时间:2022/9/12 10:28:00
--  
到valuechanged事件处理即可,其它事件去掉。如果绑定列的,建议到datacolchanged事件处理
--  作者:2425004926
--  发布时间:2022/9/12 12:23:00
--  
 
其中有一个很关键的问题,文本框的文本受好几个事件的影响,不断变化,我就设了一个开关,当进入Enter控件后Vars("开关“)开,离开Leave控件后Vars("开关“)关
在textchanged中处理,Vars("开关“)开,这也就是只在手动输入时才会执行代码事件
在valuechanged中处理,这时Vars("开关“)关着的,就不能确保是手动输入

我写的好多代码都是采用这种方式,在textchanged中处理,非常有效,

只是这个软件实在太复杂,前提是确保手动输入才执行,在textchanged中处理每输入一个字符代码都会执行,影响速度,我就想提高效率,有些代码一次执行就可以,才想着在离开前Validating执行

顺便问一下,Validating事件中的官方后续会不会再作调整

--  作者:2425004926
--  发布时间:2022/9/12 12:51:00
--  
 比如实例:
在textchanged中只是一个赋值,其他代码是赋值后有好几个表的连动,统计,一次完成,这几个表还都没有加载(加载太多影响软件的打开时间),还是在阿里云,所有速度就有影响了

--  作者:有点蓝
--  发布时间:2022/9/12 13:36:00
--  
Validating事件中的官方后续会不会再作调整】没看懂什么意思,用户输入的是什么值事件里就是什么值,官方调整用户输入的值干什么?
--  作者:2425004926
--  发布时间:2022/9/12 14:35:00
--  
Validating事件中的
对于文本框,原来值是”456“,进入控件后,更改为”123“时,因为是离开前,所以还没有离开控件,值是不应该变化的,这时的文本是”123“,测试值也是”123“,我想值应该还是原来的”456“,这样的理解对吗?
[此贴子已经被作者于2022/9/12 14:35:18编辑过]

--  作者:2425004926
--  发布时间:2022/9/12 14:47:00
--  
 测试的顺序我想应是
1、Enter
2、TextChanged
3、Validating  ’‘值应是变换前的值
4、Leave
5、ValueChanged

现在测试的顺序是
1、Enter
2、TextChanged
3、Leave
4、ValueChanged
5、Validating  ‘所以现在测试的值就是变换后的值


--  作者:有点蓝
--  发布时间:2022/9/12 16:24:00
--  
Validating 肯定是离开后的值,校验的是最后输入的值,否则校验没有意义