以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码纠错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145337)

--  作者:lisangyu
--  发布时间:2020/1/16 16:56:00
--  代码纠错
Select Case e.DataCol.Name
    Case "审批结果1","审批人1","审批结果2","审批人2","审批结果3","审批人3","审批结果4","审批人4","审批结果5","审批人5","审批人6","审批日期6","审批日期7","审批人7"
        Dim dr As DataRow = e.DataRow
        
        If dr.IsNull("审批结果1") = False AndAlso dr.IsNull("审批人1") = False Then
            e.DataRow("进度") = "2A"
            If dr.IsNull("审批结果2") = False AndAlso dr.IsNull("审批人2") = False Then
                e.DataRow("进度") = "3A"
                If dr.IsNull("审批结果3") = False AndAlso dr.IsNull("审批人3") = False Then
                    e.DataRow("进度") = "4A"
                    If dr.IsNull("审批结果4") = False AndAlso dr.IsNull("审批人4") = False Then
                        e.DataRow("进度") = "5A"
                        If dr.IsNull("审批结果5") = False AndAlso dr.IsNull("审批人5") = False  AndAlso dr("维修厂") = User.IsRole("维修厂审核员") Then
                            e.DataRow("进度") = "6A"
                        If dr.IsNull("审批结果5") = False AndAlso dr.IsNull("审批人5") = False  AndAlso dr("维修厂") <> User.IsRole("维修厂审核员") Then
                            e.DataRow("进度") = "7A"
                                             
                        If dr.IsNull("审批人6") = False AndAlso dr.IsNull("审批日期6") = False Then
                            e.DataRow("进度") = "7A"
                            
                        End If
                    End If
                End If
            End If
        End If
    End If
End If
看红色部分,我写的不报错,但是无效,怎么写字段“维修厂” (下拉框) 是否属于指定的角色


--  作者:有点蓝
--  发布时间:2020/1/16 17:06:00
--  
If dr.IsNull("审批结果4") = False AndAlso dr.IsNull("审批人4") = False Then
    e.DataRow("进度") = "5A"
    If dr.IsNull("审批结果5") = False AndAlso dr.IsNull("审批人5") = False
        If User.IsRole(dr("维修厂")) Then
            e.DataRow("进度") = "6A"
        Else
            e.DataRow("进度") = "7A"
        End If
        If dr.IsNull("审批人6") = False AndAlso dr.IsNull("审批日期6") = False Then
            e.DataRow("进度") = "7A"
        End If
    End If
End If