以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于取消输入代码不起作用的疑问  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93717)

--  作者:benwong2013
--  发布时间:2016/12/5 15:08:00
--  关于取消输入代码不起作用的疑问
If e.DataCol.name = "二级单位" Then
    If e.DataRow.IsNull("二级单位") = False Then
        Dim dr As DataRow
        dr = DataTables("B_Bu").Find("单位 = \'" & e.DataRow("单位") & "\' And 二级单位 = \'" & e.DataRow("二级单位") & "\'")
        If dr IsNot Nothing Then
            e.DataRow("二级单位代码") = dr("单位代码")
        Else
            e.Cancel = True
            MessageBox.Show("此【二级单位】未授权【审批人】,请使用【单位级别】申请领用或通知【管理员】添加【审批人】,谢谢!")
        End If
    Else
        e.DataRow("二级单位代码") = Nothing
    End If
End If

请问在输入二级单位若找不到对应代码的话,应该二级单位会取消输入,但实际是不会,请问是代码哪里写的不对?

--  作者:有点色
--  发布时间:2016/12/5 15:41:00
--  

e.Cancel = True

 

改成

 

e.DataRow("二级单位代码") = Nothing


--  作者:benwong2013
--  发布时间:2016/12/5 15:48:00
--  
这个我知道,只是为什么这个不起作用呢?
--  作者:有点蓝
--  发布时间:2016/12/5 16:03:00
--  
代码在什么事件里的,不是所有的事件都有e.Cancel的用法