Foxtable(狐表)用户栏目专家坐堂 → [求助]简化代码


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

主题:[求助]简化代码

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
[求助]简化代码  发帖心情 Post By:2018/4/15 10:23:00 [只看该作者]

If e.DataCol.name = "姓名" Then
    Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
    If fdr Is Nothing Then
        MessageBox.Show("姓名输入错误","提示")
        e.DataRow.SetError("姓名", "姓名输入错误")
    Else
        e.DataRow.SetError("姓名", "")
        'e.cancel = True
    End If
End If

If e.DataCol.name = "罚款人1" Then
    Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
    If fdr Is Nothing Then
        MessageBox.Show("姓名输入错误","提示")
        e.DataRow.SetError("罚款人1", "姓名输入错误")
    Else
        e.DataRow.SetError("罚款人1", "")
        'e.cancel = True
    End If
End If

If e.DataCol.name = "罚款人2" Then
    Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
    If fdr Is Nothing Then
        MessageBox.Show("姓名输入错误","提示")
        e.DataRow.SetError("罚款人2", "姓名输入错误")
    Else
        e.DataRow.SetError("罚款人2", "")
        'e.cancel = True
    End If
End If

If e.DataCol.name = "罚款人3" Then
    Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
    If fdr Is Nothing Then
        MessageBox.Show("姓名输入错误","提示")
        e.DataRow.SetError("罚款人3", "姓名输入错误")
    Else
        e.DataRow.SetError("罚款人3", "")
        'e.cancel = True
    End If
End If

If e.DataCol.name = "罚款人4" Then
    Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
    If fdr Is Nothing Then
        MessageBox.Show("姓名输入错误","提示")
        e.DataRow.SetError("罚款人4", "姓名输入错误")
    Else
        e.DataRow.SetError("罚款人4", "")
        'e.cancel = True
    End If
End If


怎么样简化写

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


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2018/4/15 10:36:00 [只看该作者]

Select Case e.DataCol.Name
    Case "姓名"
        
    Case "罚款人1"

    Case "罚款人2"

    Case "罚款人3"

    Case "罚款人4"

End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 10:55:00 [只看该作者]

参考

 

Select Case e.DataCol.Name
    Case "姓名","罚款人1","罚款人2","罚款人3","罚款人4"              
        Dim fdr As DataRow = DataTables("目录").Find("姓名 = '" & e.newValue & "'")
        If fdr Is Nothing Then
            MessageBox.Show(e.DataCol.name & "输入错误","提示")
            e.DataRow.SetError(e.DataCol.name, "姓名输入错误")
        Else
            e.DataRow.SetError(e.DataCol.name, "")
            'e.cancel = True
        End If
End Select


 回到顶部