以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  退出后,对话框退出提示提示两次  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115500)

--  作者:lungby
--  发布时间:2018/3/8 10:04:00
--  退出后,对话框退出提示提示两次
想退出的时候提示是否保存,如果保存的话,自动将窗口表中的相关列替换到正式表中,然后将临时表清空
现在的问题是,每次进行退出的时候,总是需要确认两次,不知道为什么?
请帮忙看下
afterclose中的代码:

For Each dt As DataTable In DataTables
    If dt.name.Contains("委托") AndAlso dt.HasChanges = True Then
        If MessageBox.Show("有修改,是否保存?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
            \'-------------以下是设置按照委托编号读取委托台账中相关信息-------
            For Each dr1 As DataRow In DataTables("委托单更换").DataRows
                Dim dr2 As DataRow = DataTables("委托台账").Find("委托编号 = \'" & dr1("委托编号") & "\'" )
                If dr2 IsNot Nothing Then
                    dr2("委托单更换日期") = dr1("委托单更换日期")
                End If
            Next
            \'-------------以上是设置按照委托编号读取委托台账中相关信息-------
            dt.save
        End If
    End If
Next

DataTables("委托单更换").DataRows.Clear()
Tables("委托台账").AllowEdit = False

--  作者:有点甜
--  发布时间:2018/3/8 10:35:00
--  

dim dt as datatable = DataTables("委托单更换")
if dt.HasChanges = True Then
    If MessageBox.Show("有修改,是否保存?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
        \'-------------以下是设置按照委托编号读取委托台账中相关信息-------
        For Each dr1 As DataRow In DataTables("委托单更换").DataRows
            Dim dr2 As DataRow = DataTables("委托台账").Find("委托编号 = \'" & dr1("委托编号") & "\'" )
            If dr2 IsNot Nothing Then
                dr2("委托单更换日期") = dr1("委托单更换日期")
            End If
        Next
        \'-------------以上是设置按照委托编号读取委托台账中相关信息-------
        dt.save
    End If
End If

 

DataTables("委托单更换").DataRows.Clear()
Tables("委托台账").AllowEdit = False