Foxtable(狐表)用户栏目专家坐堂 → 合并相同代码


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

主题:合并相同代码

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


加好友 发短信
等级:小狐 帖子:354 积分:4345 威望:0 精华:0 注册:2016/4/30 10:41:00
合并相同代码  发帖心情 Post By:2020/3/6 18:04:00 [只看该作者]

请教下边这段代码如何合并简化
Select Case e.DataCol.Name
    Case "调拨单号"
        Dim fdr As DataRow = DataTables("入库明细").Find("入库单号 = '" & e.DataRow("调拨单号") & "'")
        If fdr Is Nothing Then
            fdr = DataTables("入库明细").AddNew
            fdr("商品编号") = e.DataRow("商品编号")
            fdr("商品名称") = e.DataRow("商品名称")
            fdr("规格型号") = e.DataRow("规格型号")
            fdr("单位") = e.DataRow("单位")
            fdr("单价") = e.DataRow("单价")
            fdr("数量") = e.DataRow("数量")
            fdr("备注") = e.DataRow("备注")
            fdr("入库单号") = e.DataRow("调拨单号")
        End If
        
    Case "商品编号","商品名称","规格型号","单位","单价","数量","备注"
        Dim fdr As DataRow = DataTables("入库明细").Find("入库单号 = '" & e.DataRow("调拨单号") & "'")
        If fdr IsNot Nothing Then
            fdr("商品编号") = e.DataRow("商品编号")
            fdr("商品名称") = e.DataRow("商品名称")
            fdr("规格型号") = e.DataRow("规格型号")
            fdr("单位") = e.DataRow("单位")
            fdr("单价") = e.DataRow("单价")
            fdr("数量") = e.DataRow("数量")
            fdr("备注") = e.DataRow("备注")
        End If
End Select

Select Case e.DataCol.Name
    Case "调拨单号"
        Dim fdr As DataRow = DataTables("出库明细").Find("出库单号 = '" & e.DataRow("调拨单号") & "'")
        If fdr Is Nothing Then
            fdr = DataTables("出库明细").AddNew
            fdr("商品编号") = e.DataRow("商品编号")
            fdr("商品名称") = e.DataRow("商品名称")
            fdr("规格型号") = e.DataRow("规格型号")
            fdr("单位") = e.DataRow("单位")
            fdr("单价") = e.DataRow("单价")
            fdr("数量") = e.DataRow("数量")
            fdr("备注") = e.DataRow("备注")
            fdr("出库单号") = e.DataRow("调拨单号")
        End If
        
    Case "商品编号","商品名称","规格型号","单位","单价","数量","备注"
        Dim fdr As DataRow = DataTables("出库明细").Find("出库单号 = '" & e.DataRow("调拨单号") & "'")
        If fdr IsNot Nothing Then
            fdr("商品编号") = e.DataRow("商品编号")
            fdr("商品名称") = e.DataRow("商品名称")
            fdr("规格型号") = e.DataRow("规格型号")
            fdr("单位") = e.DataRow("单位")
            fdr("单价") = e.DataRow("单价")
            fdr("数量") = e.DataRow("数量")
            fdr("备注") = e.DataRow("备注")
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/6 20:44:00 [只看该作者]

Select Case e.DataCol.Name
    Case "调拨单号"
        If e.DataRow.Isnull("调拨单号") = False
            Dim ns1() As String = {"入库","出库"}
            For Each s As String In ns1
                Dim fdr As DataRow = DataTables(s & "明细").Find(s & "单号 = '" & e.DataRow("调拨单号") & "'")
                If fdr Is Nothing Then
                    fdr = DataTables(s & "明细").AddNew
                    fdr(s & "单号") = e.DataRow("调拨单号")
                    fdr("商品编号") = e.DataRow("商品编号")
                    fdr("商品名称") = e.DataRow("商品名称")
                    fdr("规格型号") = e.DataRow("规格型号")
                    fdr("单位") = e.DataRow("单位")
                    fdr("单价") = e.DataRow("单价")
                    fdr("数量") = e.DataRow("数量")
                    fdr("备注") = e.DataRow("备注")
                End If
            Next
        Next
    Case "商品编号","商品名称","规格型号","单位","单价","数量","备注"
        If e.DataRow.Isnull("调拨单号") = False
            Dim ns1() As String = {"入库","出库"}
            For Each s As String In ns1
                Dim fdr As DataRow = DataTables(s & "明细").Find(s & "单号 = '" & e.DataRow("调拨单号") & "'")
                If fdr IsNot Nothing Then
                    fdr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
                End If
            Next
        End If
End Select

 回到顶部