以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]模式窗口删除table最后一行的BUG  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106476)

--  作者:fjlclxj
--  发布时间:2017/9/9 16:55:00
--  [讨论]模式窗口删除table最后一行的BUG
选中table的最后一行,然后在模式窗口中用代码删除table的当前行(暨最后一行),出现如下错误提示


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

经测试,窗口若非模式(如独立),不会报错;若当前行不是最后一行,不会报错。
--  作者:有点蓝
--  发布时间:2017/9/9 16:58:00
--  
贴出代码,或者上传实例说明
--  作者:fjlclxj
--  发布时间:2017/9/9 22:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar


--  作者:y2287958
--  发布时间:2017/9/10 7:57:00
--  
表只要有记录,测试未发现异常
--  作者:有点甜
--  发布时间:2017/9/10 13:20:00
--  

 所给的例子,测试没问题。你先升级到最新版foxtable。


--  作者:liaos
--  发布时间:2017/9/13 9:51:00
--  
我也发现同样的问题,在窗口删除行后会出现系统报错,但仅对在窗口当时增加新行的最后一行,如果窗口关闭,重新打开,那么不管是不是最后一行,都不会报错,搞了一天了。

以下内容为程序代码:

1 我的代码很简单,对窗口一个按钮的CLICK事件:
2 If Tables("单罐数据_网络").current IsNot Nothing
3 Tables("单罐数据_网络").current.delete()
4 End If
5
6 试着改为:
7 If Tables("单罐数据_网络").current IsNot Nothing
8 SystemReady = False
9 Tables("单罐数据_网络").current.delete()
10 SystemReady = True
11 End If


也不起作用

同求帮助

[此贴子已经被作者于2017/9/13 9:52:12编辑过]

--  作者:有点甜
--  发布时间:2017/9/13 10:05:00
--  
以下是引用liaos在2017/9/13 9:51:00的发言:
我也发现同样的问题,在窗口删除行后会出现系统报错,但仅对在窗口当时增加新行的最后一行,如果窗口关闭,重新打开,那么不管是不是最后一行,都不会报错,搞了一天了。

[此贴子已经被作者于2017/9/13 9:52:12编辑过]

 

上面帖子的例子,你测试是否报错?你表格肯定还有别的事件写有冲突的代码,比如 beforeSelChanged、CurrentChanged 等等


--  作者:liaos
--  发布时间:2017/9/13 11:32:00
--  
谢谢版主如此快速的回复,是要出错的,帮我分析一下,我上传了程序和出错过程了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:程序.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出错过程.rar



--  作者:有点甜
--  发布时间:2017/9/13 13:10:00
--  
If Tables("单罐数据_网络").current IsNot Nothing
    Dim lst As WinForm.ListBox
    Lst = e.form.Controls("ListBox1")
   
    lst.DataSource = "" \'列表项目来自于客户表
    Dim r = Tables("单罐数据_网络").Current.delete
    lst.DataSource = "单罐数据_网络" \'列表项目来自于客户表
End If