以文本方式查看主题

-  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=114523)

--  作者:cool314156
--  发布时间:2018/2/8 11:12:00
--  [求助]关于集合的问题
Select Case e.DataCol.name
    Case "订单编号"
Dim drs As New List(Of String)
 Dim dr As DataRow = DataTables("采购订单").Find("订单编号 = \'" & e.OldValue & "\'")

\'drs=  DataTables("入库").Find("订单编号 = \'" & e.OldValue & "\'")
        \'Dim dr As  DataRow =
        If dr IsNot Nothing Then 
           \'drs = DataTables("").DataRows(0).GetChildRows("订单")

            dr("订单编号") = e.DataRow("订单编号")
        End If
Dim drs As DataRow = DataTables("入库").Find("订单编号 = \'" & e.DataRow("订单编号") & "\'")
If drs("是否执行") = True Then
dr("是否执行") = True
Else
dr("是否执行") = False
End If
End Select

想问下老师,我错在哪里了
我的设想是,入库里面有好几行的订单编号是同样的 和 采购订单里的 唯一的订单编号是一致的,采购订单和入库已经做了关联了,入库里面的订单编号是同样的行,所对应的是否执行这个逻辑列,都是“是”,那么采购订单的 是否执行的逻辑列 就会变成“是”

--  作者:有点甜
--  发布时间:2018/2/8 11:36:00
--  
Select Case e.DataCol.name
    Case "是否执行"
        Dim dr As DataRow = DataTables("采购订单").Find("订单编号 = \'" & e.DataRow("订单编号") & "\'")
       
        If dr IsNot Nothing Then
            Dim drs = DataTables("入库").Select("订单编号 = \'" & e.DataRow("订单编号") & "\'")
            Dim flag As Boolean = True
            For Each r As DataRow In drs
                If r("是否执行") = False Then
                    flag = False
                    Exit For
                End If
            Next
            dr("是否执行") = flag
        end if
End Select

--  作者:cool314156
--  发布时间:2018/2/8 12:18:00
--  
谢谢老师了