Foxtable(狐表)用户栏目专家坐堂 → beforecolse中的cancel = true 不起作用?


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

主题:beforecolse中的cancel = true 不起作用?

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


加好友 发短信
等级:三尾狐 帖子:729 积分:7544 威望:0 精华:0 注册:2017/2/3 10:29:00
beforecolse中的cancel = true 不起作用?  发帖心情 Post By:2020/11/10 5:35:00 [只看该作者]

老师,我在窗口的beforeclose事件中有如下代码:
For Each dr As DataRow In DataTables(e.Form.name & "_table1").dataRows
    If dr.RowState <> DataRowstate.unchanged Then
        Dim Result As DialogResult
        Result = MessageBox.Show("上表中有未保存的行 , 请确认是否需要处理 ?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            e.Cancel = True
            Return
        End If
    End If
Next

执行上述代码,点击 yes 后,窗口依然关闭,不知道什么原因?请指点。谢谢!

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


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

参考:http://www.foxtable.com/webhelp/topics/0387.htm

If DataTables(e.Form.name & "_table1").HasChanges Then
    If 
MessageBox.Show("产品表已经被修改,是否保存?""提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
      
e.Cancel = True
    End
 If 
End
 
If

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


加好友 发短信
等级:三尾狐 帖子:729 积分:7544 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/11/10 10:24:00 [只看该作者]

老师,我不理解的是,点击了yes,就必须执行e.cancel = true , 但是窗口还是退出了,return 也没有起到作用 。

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


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

这个是主窗口类型?如果表A有2个主窗口,打开主窗口1,然后打开主窗口2,这时主窗口1会自动关闭,这种情况主窗口1不会触发beforecolse

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


加好友 发短信
等级:三尾狐 帖子:729 积分:7544 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/11/10 10:38:00 [只看该作者]

老师,是有两个主窗口,但是,我既然能够点击 yes,说明已经进入到 beforecolse 事件中了,执行了这里的代码啊 。


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


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

e.Cancel = True不会有效

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


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

因为一个表格的主窗口只能同时显示一个

 回到顶部