Foxtable(狐表)用户栏目专家坐堂 → 并列窗口关闭


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

主题:并列窗口关闭

美女呀,离线,留言给我吧!
qinlao666
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3766 威望:0 精华:0 注册:2015/3/3 10:06:00
并列窗口关闭  发帖心情 Post By:2018/12/10 14:11:00 [显示全部帖子]

If DataTables("合同主表").HasChanges Or DataTables("合同明细").HasChanges  Then
    If MessageBox.Show("合同单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        DataTables.Save()
        e.form.close()
    Else
        If MessageBox.Show("您确定不保存!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
            DataTables("合同主表").RejectChanges()
            DataTables("合同明细").RejectChanges()
            e.form.close()
        End If
    End If
Else
    Forms("合同").close
End If

“合同“窗口是一个并列窗口,我在窗口的beforeclose事件中加入上面的代码,我点击并列窗口的x按钮,结果就把整个项目都给我关闭了,麻烦老师看一下是什么原因

 回到顶部
美女呀,离线,留言给我吧!
qinlao666
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3766 威望:0 精华:0 注册:2015/3/3 10:06:00
  发帖心情 Post By:2018/12/11 9:58:00 [显示全部帖子]

那老师这个问题如何处理呢?
另外请教老师,我想写个全局代码,每关闭一个窗口,都实现上述代码的功能,请老师赐教代码,谢谢!

 回到顶部
美女呀,离线,留言给我吧!
qinlao666
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3766 威望:0 精华:0 注册:2015/3/3 10:06:00
  发帖心情 Post By:2018/12/11 14:38:00 [显示全部帖子]

Public Sub _TabPageClosing(sender As Object, e As C1.Win.C1Command.TabPageCancelEventArgs)
'页面关闭按钮点击事件
If e.TabPage.Text = "背景窗口" Then
    MessageBox.Show("窗口不能关闭!")
    e.Cancel = True
Else
    For Each t As DataTable In DataTables
        If t .HasChanges  Then
            If MessageBox.Show("此表单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                t.Save()
                Forms(e.TabPage.Text).Close
                e.cancel = True
            Else
                If MessageBox.Show("您确定不保存!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                    t.RejectChanges()
                    Forms(e.TabPage.Text).Close
                    e.cancel = True
                End If
            End If
            e.cancel = True
        End If
    Next
    
End If
End Sub

不做循环判断,只判断当前窗口的当前表,请教老师如何修改

 回到顶部