Foxtable(狐表)用户栏目专家坐堂 → 变态测试产生的错误,请教解决办法。。


  共有10804人关注过本帖树形打印复制链接

主题:变态测试产生的错误,请教解决办法。。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
变态测试产生的错误,请教解决办法。。  发帖心情 Post By:2012/5/11 16:43:00 [只看该作者]

打开foxtable,随便用哪个表,只保留一行数据,然后在命令窗口执行:

With CurrentTable
    .AddNew
    .Sort = "[_Identify] Desc"
    .Position = 0
End With

这个时候,一共是2行数据,新增加的行在上面。

 

然后,在当前表的BeforeSelChange事件中设置:

e.Table.Current.Delete

 

事件设置完成后,将光标从第一行移动到第二行,大大的红叉出现了!!


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/11 17:02:00 [只看该作者]

此问题百思不得其解:本来就有2行数据,删除一行后应该还有一行的,为什么出错呢?

而且,这种错误很恐怖,大大的红叉,把客户都紧张坏了。

反复检查,才发现问题这里。请教解决办法。。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/11 17:29:00 [只看该作者]

不要在BeforeSelChange事件中删除行。


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/11 17:39:00 [只看该作者]

以下是引用狐狸爸爸在2012-5-11 17:29:00的发言:

不要在BeforeSelChange事件中删除行。

但是,客户有这样的要求:在换行前,先判断当前行的指定内容是否为空,如果为空的话,就删除之。


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/11 17:42:00 [只看该作者]

current和position都没有before事件,只有在beforeselchange事件中设置。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/11 17:52:00 [只看该作者]

想办法改变设计思路吧。

 


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/11 18:07:00 [只看该作者]

估计这应该是bug了吧。建议还是抽空研究一下看看能否解决。。

实在不行,只有不允许离开当前行了。或者由用户将无效的行手工删除。

 


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/12 11:14:00 [只看该作者]

这个绝对是bug,还望老六重视。

我想着变通一下,不用删除行了,在beforeselchange中用以下代码撤销修改,竟然一样出现错误:

e.Table.Current.DataRow.Reject

 

换行前对当前记录的完整性进行判断,如果不完整就撤销修改(新增行的话就自动删除了),这是很非常合理的应用需求!


 回到顶部
帅哥哟,离线,有人找我吗?
FoxMan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:302 积分:1860 威望:0 精华:0 注册:2012/4/27 11:34:00
  发帖心情 Post By:2012/5/12 11:23:00 [只看该作者]

試試:BeforeAddDataRow


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/5/12 11:25:00 [只看该作者]

狐表在对同一行、不同列的数据处理中,非常严谨,相关事件很丰富。

但对于跨行就很弱了,不仅current和position都没有before事件,没办法在换行前进行判断;而且在selchange事件中不能进行行数据的delete或reject处理。

实在想不出其它什么变通的解决思路,最下策只有“不能离开当前行或者手工删除无效行”,但这种处理方法实在太过弱智!


 回到顶部
总数 22 1 2 3 下一页