以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何满足多个条件才执行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120383)

--  作者:81538475
--  发布时间:2018/6/14 0:30:00
--  [求助] 如何满足多个条件才执行
下面的代码会找出多个 dr 如何能够让所有 dr("PM") = _username 都满足才往下执行呢。



  Dim dr As DataRow
        For i As Integer = 0 To Names.Length -1
            dr = DataTables("XMZB").Find("[XMMC] = \'"& names(i) & "\'")
            
            If dr IsNot Nothing Then
                If dr("PM") = _username Then


--  作者:有点甜
--  发布时间:2018/6/14 9:02:00
--  


Dim dr As DataRow
Dim flag = False
For i As Integer = 0 To Names.Length -1
    dr = DataTables("XMZB").Find("[XMMC] = \'"& names(i) & "\'")    
    If dr IsNot Nothing Then
        If dr("PM") <> _username Then
            flag = True
            Exit For
        End If
    End If
Next

If flag = False Then
    \'继续执行的代码
end if


--  作者:81538475
--  发布时间:2018/6/14 15:13:00
--  
问题是我后面的代码也需要用到 上面 循环出来的 dr 的多个值 。按照上面代码的话,就无法进行后面的循环了。 标注红色的位置:
        Dim dr As DataRow
        Dim flag = False
        For i As Integer = 0 To Names.Length -1
            dr = DataTables("XMZB").Find("[XMMC] = \'"& names(i) & "\'")
            If dr IsNot Nothing Then
                If dr("PM") <> _username Then
                    flag = True
                    If nt IsNot Nothing Then
                        nt.Delete
                    End If
                    MessageBox.Show("没有权限合并此项目,请联系相关PM!","温馨提示:")
                    Exit For
                End If
            End If
        Next
        If flag = False Then
            If dr.GetChildRows("XMFP") IsNot Nothing Then
                For Each drc As DataRow In dr.GetChildRows("XMFP")   \'修改编号
                    If drc IsNot Nothing Then
                        drc("BH") = nt("bh")
                    End If
                Next
            End If

          
        End If

--  作者:有点甜
--  发布时间:2018/6/14 15:36:00
--  

Dim flag = False
Dim drs As new List(of DataRow)

For i As Integer = 0 To Names.Length -1
    dim dr = DataTables("XMZB").Find("[XMMC] = \'"& names(i) & "\'")
    If dr IsNot Nothing Then
        drs.add(dr)
        If dr("PM") <> _username Then
            flag = True
            If nt IsNot Nothing Then
                nt.Delete
            End If
            MessageBox.Show("没有权限合并此项目,请联系相关PM!","温馨提示:")
            Exit For
        End If
    End If
Next
If flag = False Then
    For Each dr As DataRow In drs
        If dr.GetChildRows("XMFP") IsNot Nothing Then
            For Each drc As DataRow In dr.GetChildRows("XMFP")   \'修改编号
                If drc IsNot Nothing Then
                    drc("BH") = nt("bh")
                End If
            Next
        End If
       
    next
   
End If