以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表事件运算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119931)

--  作者:kzfasky
--  发布时间:2018/6/4 13:25:00
--  [求助]表事件运算
第一段
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name 
    Case "重量","单价","折扣"
        If dr.IsNull("重量") Then
            dr("金额") = Nothing
        Else
            dr("金额") = dr("重量") * dr("单价") * dr("折扣")
        End If
End Select


第二段
If e.DataCol.Name = "货物名称" Then  
    If e.NewValue Is Nothing Then   
        e.DataRow("单价2") = Nothing 
    Else
        Dim dr As DataRow
        dr = DataTables("货物名称").Find("[货物名称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then 
            e.DataRow("单价2") = dr("单价2") 
        End If
    End If
End If
If e.DataCol.Name = "公司名称" Then  
    If e.NewValue Is Nothing Then 
        e.DataRow("起运地") = Nothing
        e.DataRow("仓库") = Nothing
        e.DataRow("折扣") = Nothing  
    Else
        Dim dr As DataRow
        dr = DataTables("客户").Find("[公司名称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then  
            e.DataRow("起运地") = dr("起运地")
            e.DataRow("仓库") = dr("仓库") 
            e.DataRow("折扣") = dr("折扣")
        End If
    End If
End If



老师帮帮忙,上边两段代码  分别都能单独运行,可是合在一起就不能运行了,这怎么弄?  我需要合在一个表里运行


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

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "重量","单价","折扣"
        If dr.IsNull("重量") Then
            dr("金额") = Nothing
        Else
            dr("金额") = dr("重量") * dr("单价") * dr("折扣")
        End If
End Select

If e.DataCol.Name = "货物名称" Then 
    If e.NewValue Is Nothing Then  
        e.DataRow("单价2") = Nothing
    Else
        Dim fdr As DataRow
        fdr = DataTables("货物名称").Find("[货物名称] = \'" & e.NewValue & "\'")
        If fdr IsNot Nothing Then
            e.DataRow("单价2") = fdr("单价2")
        End If
    End If
End If
If e.DataCol.Name = "公司名称" Then 
    If e.NewValue Is Nothing Then
        e.DataRow("起运地") = Nothing
        e.DataRow("仓库") = Nothing
        e.DataRow("折扣") = Nothing 
    Else
        Dim fdr As DataRow
        fdr = DataTables("客户").Find("[公司名称] = \'" & e.NewValue & "\'")
        If fdr IsNot Nothing Then 
            e.DataRow("起运地") = fdr("起运地")
            e.DataRow("仓库") = fdr("仓库")
            e.DataRow("折扣") = fdr("折扣")
        End If
    End If
End If

 


--  作者:kzfasky
--  发布时间:2018/6/4 15:29:00
--  

貌似明白了