以文本方式查看主题

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

--  作者:蓝蚂蚁
--  发布时间:2017/12/11 21:16:00
--  子表按条件赋值给父表

图片点击可在新窗口打开查看此主题相关图片如下:上海.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:北京.jpg
图片点击可在新窗口打开查看


--  作者:蓝蚂蚁
--  发布时间:2017/12/11 21:18:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:产地.zip


--  作者:蓝蚂蚁
--  发布时间:2017/12/11 21:20:00
--  

下面是代码,但搞了一个晚上还是不行,望老师指点

代码位置:子表的DataColChanged

If e.DataCol.Name = "产地" Then
    Dim pdr As DataRow = e.DataRow.GetParentRow("订单")
    Dim fdr As DataRow = e.DataTable.Find("[订单号]=\'" & e.DataRow("订单号") & "\'","_Sortkey")
    \'Dim fdr2 As DataRow = e.DataTable.Find("[产地]=\'上海\'","_Sortkey")
    If pdr IsNot Nothing Then
        If fdr IsNot Nothing Then
            Dim drs As List(Of DataRow) = DataTables("订单明细").Select("[订单号]=\'" & e.DataRow("订单号") & "\'")
            \' For n As Integer = 0 To drs.Count - 1 \'遍历所有行
            For Each dr As DataRow In drs
                If dr("产地") ="上海" Then
                    pdr("地址") ="上海"
                Else
                    pdr("地址") = fdr("产地")
                    \'pdr("地址") = Nothing
                End If
            Next
        End If
    End If
End If


--  作者:有点蓝
--  发布时间:2017/12/11 21:34:00
--  
If e.DataCol.Name = "产地" Then
    Dim pdr As DataRow = e.DataRow.GetParentRow("订单")
    If pdr IsNot Nothing Then
        Dim fdr As DataRow = e.DataTable.Find("[产地]=\'上海\' and 订单号=\'" & e.DataRow("订单号") & "\'")
        If fdr IsNot Nothing Then
            pdr("地址") ="上海"
        Else
            fdr = e.DataTable.Find("[订单号]=\'" & e.DataRow("订单号") & "\'","_Sortkey")
            If fdr IsNot Nothing Then
                pdr("地址") = fdr("产地")
            End If
        End If
    End If
End If

--  作者:蓝蚂蚁
--  发布时间:2017/12/11 22:22:00
--  
非常感谢,由衷的。