Foxtable(狐表)用户栏目专家坐堂 → 不能在 OnRowDeleting 事件内部调用 Delete。引发 exception 以取消此删除。


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

主题:不能在 OnRowDeleting 事件内部调用 Delete。引发 exception 以取消此删除。

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
不能在 OnRowDeleting 事件内部调用 Delete。引发 exception 以取消此删除。  发帖心情 Post By:2019/8/2 18:53:00 [只看该作者]

错误所在事件:
详细错误信息:
不能在 OnRowDeleting 事件内部调用 Delete。引发 exception 以取消此删除。

删除子表行,提示这个是什么原因?没有同步关联删除, 子表行如果有很多行,点击删除其中一行会删除所有的行,然后弹出那个运行错误提示

这个是关联删除代码

Dim pr As DataRow = e.DataRow.GetParentRow("进货单") '获得此明细对应的订单
If pr IsNot  Nothing Then '如果有对应的订单
    If pr.GetChildRows("进货明细表").count = 1 Then '且这个订单的明细只有一个了
        pr.Delete '删除这个订单
    End If
End If



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/2 20:45:00 [只看该作者]

这几个事件有没有写代码?

BeforeDeleteDataRow删除一行之前执行。
可以在此处进行权限和条件验证,以决定是否允许删除此行。
DataRowDeleting正在删除一行的时候执行,这时行还未被删除
DataRowDeleted删除行后执行,此时行已经被删除



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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/2 22:14:00 [只看该作者]

DataRowDeleting   上面的代码是写在这个事件里面的


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/2 22:26:00 [只看该作者]

"进货单"表2楼几个事件有没有代码。

关联的时候有没有勾选“同步删除关联行”,如果有去掉。

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/2 22:46:00 [只看该作者]

进货单表没有写上面几个事件代码,就子表明细表写了,是不是父表也要写代码?  关联删除行没有勾选

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/2 22:51:00 [只看该作者]

把代码放到BeforeDeleteDataRow试试

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/2 23:01:00 [只看该作者]

可以了,谢谢老师,我是看的教程操作的,是放错了事件代码吗?

 回到顶部