以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 狐爸!给你个致命的BUG【基本已解决】 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32373) |
-- 作者:gsnake -- 发布时间:2013/5/1 0:37:00 -- 狐爸!给你个致命的BUG【基本已解决】 打开一个新项目,没有其他任何代码!
在第一列的 ValidateEdit 里,放上下列代码 e.Table.Select(e.Row.Index,e.Table.Cols("第二列").index) 输入内容-验证马上无条件退出 Fox [此贴子已经被作者于2013-5-16 11:21:31编辑过]
|
-- 作者:jianjingmaoyi -- 发布时间:2013/5/1 10:18:00 -- 2012测试下没有问题 |
-- 作者:VICMA -- 发布时间:2013/5/1 11:34:00 -- 确实立即退出了! |
-- 作者:jspta -- 发布时间:2013/5/1 13:03:00 -- 以下是引用gsnake在2013-5-1 0:37:00的发言:
在第一列的 ValidateEdit 里,放上下列代码 e.Table.Select(e.Row.Index,e.Table.Cols("第二列").index) 验证马上无条件退出 Fox 你这个可能会造成死循环的吧,把完整代码贴出来 |
-- 作者:gsnake -- 发布时间:2013/5/1 16:44:00 -- 就这个代码!什么也没有! |
-- 作者:don -- 发布时间:2013/5/1 17:45:00 -- 别危言耸听!我试了没问题,且这代码位置也不合理. [此贴子已经被作者于2013-5-1 17:49:05编辑过]
|
-- 作者:gsnake -- 发布时间:2013/5/1 18:35:00 -- 我在我激活的笔记本机器,办公室机器!试用版、开发板全测试了!直接退出!
我知道代码放的有问题,准备问您了,可是直接退出,就先发这个贴了!
我想知道的问题是:
我编辑第三列,判断我的输入的合法性,合法 -继续输入第四列!不合法跳到第一列打开下拉窗口!
代码好像这样的
if e.col.name="第三列" then if e.text<>"合法" then e.Table.Select(e.Row.Index,e.Table.Cols("第一列").index) end if end if
因为退出,所以测了一下中间代码,就发帖了
[此贴子已经被作者于2013-5-1 18:48:26编辑过]
|
-- 作者:gsnake -- 发布时间:2013/5/1 18:38:00 -- 我装了2012测试版! 还是退出 |
-- 作者:菲舍尔 -- 发布时间:2013/5/2 0:23:00 -- 呵呵,这个不是狐表的bug,是你代码的bug
是你自己没有理解事件触发的概念
在validateedit未完成之前,你就用代码改变了触发的对象,这样会造成死循环,所以退出了狐表
你这个代码改在datacolchanged事件中试试
|
-- 作者:gsnake -- 发布时间:2013/5/2 6:14:00 -- 呵呵! 先不说 概念 ,你觉得 输错了代码就退出不是 BUG ? 我觉得不严谨! 程序就是一个严谨的系统, 我们给用户做程序假设这里本来要输入 “1234”, 如果输入了 “4567”。程序就无任何提示退出!! 你给用户解释,你输错了???? 作为程序员不会这样子的吧!
|