以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于messagebox  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154320)

--  作者:fvcfox
--  发布时间:2020/9/11 9:04:00
--  关于messagebox
请教老师,下面的messagebox,点否后,messagebox窗口会死循环
If e.DataCol.Name="项目名称" Then
    
    Dim Result As DialogResult
    Result = MessageBox.Show("如果你确定,将修改包含以前的该项目名称,是否要确定修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        DataTables("项目预算").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目年度预算").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目转列支").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目请拨").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
    Else
        e.DataRow("项目名称")=e.OldValue
        
    End If
    
End If

--  作者:有点蓝
--  发布时间:2020/9/11 9:10:00
--  
代码放到datacolchanging事件

……
    If Result = DialogResult.Yes Then
        DataTables("项目预算").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目年度预算").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目转列支").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
        DataTables("项目请拨").ReplaceFor("项目名称",e.NewValue,"[项目名称]=\'" & e.OldValue & "\'")
    Else
        e.cancel = true
    End If
……