Foxtable(狐表)用户栏目专家坐堂 → [求助] 如何满足多个条件才执行


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

主题:[求助] 如何满足多个条件才执行

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助] 如何满足多个条件才执行  发帖心情 Post By: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部