Foxtable(狐表)用户栏目专家坐堂 → [求助使用]自动增加行的代码后,删除全部行后,在增加行,软件自动关闭.


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

主题:[求助使用]自动增加行的代码后,删除全部行后,在增加行,软件自动关闭.

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
[求助使用]自动增加行的代码后,删除全部行后,在增加行,软件自动关闭.  发帖心情 Post By:2017/3/6 1:36:00 [只看该作者]

老师下面这段代码是自动增加行的代码,但是当所有行都删除后,从新增加行时,软件会自动关闭,我试了下把代码删除掉后恢复
正常可以增加行,但是就不能使用自动增加行的代码了,能帮我修改下代码吗?谢谢老师

Dim idx As Integer = Tables("表1").FindRow(e.DataRow)
If idx = Tables("表1").rows.count-1 Then
    DataTables("表1").addnew
End If

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/6 8:55:00 [只看该作者]

代码写在什么事件里的?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/6 9:57:00 [只看该作者]

代码没问题。请把代码写到DataColChanged事件,而不是其他事件。


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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/3/6 15:31:00 [只看该作者]

老师,我代码就是写在DataColChanged事件,删除全部行没问题,删除掉后点右键增加行,退出软件,表是主窗口

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/6 16:08:00 [只看该作者]

修改一下你dataRowAdded事件

 

systemready = False
e.DataRow("第一列") = "123"
systemready = True


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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/3/6 20:50:00 [只看该作者]

老师,我试了,还是不行,但我找到原因了,可不知道怎么改,我在表的DataRowAdding事件里有下面这两个代码,代码拿起来后一切正常,放进去就会出现一楼说的情况,删除全部行后,重新增加行,就会直接退出软件,不知道是不是代码起冲突了,老师看下能改吗?谢谢!

e.DataRow("A列")= "小学"
e.DataRow("B列")= "成绩"

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/6 21:21:00 [只看该作者]

代码死循环了,增加行,赋值,触发DataColChanged,又增加行.......

加上列判断
if e.datacol.name <> "A列" ansalso e.datacol.name <> "B
Dim idx As Integer = Tables("表1").FindRow(e.DataRow)
If idx = Tables("表1").rows.count-1 Then
    DataTables("表1").addnew
End If

end if

 回到顶部