Foxtable(狐表)用户栏目专家坐堂 → beforeclose事件问题


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

主题:beforeclose事件问题

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


加好友 发短信
等级:三尾狐 帖子:655 积分:7719 威望:0 精华:0 注册:2013/12/11 17:49:00
beforeclose事件问题  发帖心情 Post By:2019/10/4 9:17:00 [显示全部帖子]

请老师帮忙看一下 下面这段代码 写在模式窗口 beforeclose 事件  能弹出  请先保存数据后,再关闭 
但是窗口 还是关闭了   感觉  e.Cancel =True  这句代码失灵了  这个问题有时候出现  有时候不出现 ,只要出现过一次  第二次还是会出现  进入编辑窗口 未做任何修改 再次打开 就不会关闭
    在好多台电脑都出现这个问题  


If DataTables("表A").HasChanges =True Or DataTables("表B").HasChanges =True Then
    If  Tables("表B").Rows.Count =0 Then
        DataTables("表A").RejectChanges()
        DataTables("表B").RejectChanges()
    Else
        Dim Result As DialogResult
        Result= messagebox.Show("数据有变动,请保存!","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
        If Result=DialogResult.no Then
            DataTables("表A").RejectChanges()
            DataTables("表B").RejectChanges()
        ElseIf Result=DialogResult.yes Then
            MessageBox.Show("请先保存数据后,再关闭!")
            e.Cancel =True
        End If
    End If
End If

[此贴子已经被作者于2019/10/4 9:49:24编辑过]

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


加好友 发短信
等级:三尾狐 帖子:655 积分:7719 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2019/10/4 10:04:00 [显示全部帖子]

谢谢狐狸爸爸  我要实现的效果 点 是  弹出 不关闭窗口 
现在的问题是 我点了是 有时候 不关闭 有时候 直接关闭窗口了 


Dim Result As DialogResult
Result= messagebox.Show("数据有变动,请保存!","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
If Result=DialogResult.no Then
    DataTables("表A").RejectChanges()
    DataTables("表B").RejectChanges()
ElseIf Result=DialogResult.yes Then
    MessageBox.Show("请先保存数据后,再关闭!")
    e.Cancel =True
End If
[此贴子已经被作者于2019/10/4 10:06:07编辑过]

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


加好友 发短信
等级:三尾狐 帖子:655 积分:7719 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2019/10/4 10:21:00 [显示全部帖子]

谢谢   如果逻辑错 是不会弹出的   现在的问题是 弹出  还关闭窗口

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


加好友 发短信
等级:三尾狐 帖子:655 积分:7719 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2019/10/4 14:13:00 [显示全部帖子]


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:20191004_140900.zip

附件为操作视频

以下为beforeclose事件代码

If DataTables("出入库主表").HasChanges =True Or DataTables("出入库明细表").HasChanges =True Then
    If  Tables(e.Form.Name & "_制单表").Rows.Count =0  Then
        DataTables("出入库主表").RejectChanges()
        DataTables("出入库明细表").RejectChanges()
    Else
        Dim Result As DialogResult
        Result= messagebox.Show("数据有变动,请保存!","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
        If Result=DialogResult.no Then
            DataTables("出入库主表").RejectChanges()
            DataTables("出入库明细表").RejectChanges()
        ElseIf Result=DialogResult.yes Then            
            MessageBox.Show("请先保存数据后,再关闭!")
            e.Cancel =True 
        End If
    End If
End If
[此贴子已经被作者于2019/10/4 14:26:09编辑过]

 回到顶部