以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  狐爸帮忙  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23111)

--  作者:kevin
--  发布时间:2012/9/2 20:15:00
--  狐爸帮忙

If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True  Then                                         \'正在编辑的列为"审核"而且已勾选
    Dim dri As DataRow = DataTables("产品资料").Find("条形码 = \'" & e.DataRow("条形码") & "\'")  
    If dri Is Nothing Then
        Dim nma() As String = {"条形码","分类","品名","型号","规格","单位","数量","进货价"} \'A表数据来源列
        Dim nmb() As String = {"条形码","分类","品名","型号","规格","单位","数量","进货价"} \'B表数据接收列
        Dim dr As DataRow = DataTables("产品资料").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else
        dri("数量") = dri("数量") + e.DataRow("数量")
    End If
End If

 

以上代码能够自动按照条件复制行到产品资料表中,

现在需要增加一个判断,审核列为FLASE时, dri("数量") = dri("数量") - e.DataRow("数量")

看着很简单容易理解的代码,可我试了几次都没成功.也许我的代码写错了,麻烦狐爸帮忙加上一个代码,让他更完整一些/谢谢


--  作者:czy
--  发布时间:2012/9/2 20:20:00
--  
If e.DataCol.Name = "审核" Then \'正在编辑的列为"审核"而且已勾选
    If e.DataRow("审核") = True  Then
        Dim dri As DataRow = DataTables("产品资料").Find("条形码 = \'" & e.DataRow("条形码") & "\'")
        If dri Is Nothing Then
            Dim nma() As String = {"条形码","分类","品名","型号","规格","单位","数量","进货价"} \'A表数据来源列
            Dim nmb() As String = {"条形码","分类","品名","型号","规格","单位","数量","进货价"} \'B表数据接收列
            Dim dr As DataRow = DataTables("产品资料").AddNew
            For i As Integer = 0 To nma.Length - 1
                dr(nmb(i)) = e.DataRow(nma(i))
            Next
        End If
    Else
        dri("数量") = dri("数量") + e.DataRow("数量")
    End If
End If