以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多值字段自动增值代码出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115933)

--  作者:ZJZK2018
--  发布时间:2018/3/16 20:53:00
--  多值字段自动增值代码出错
需求:
新增加一个分公司并填入“客户类别”的值,判断此值是否包含在总公司的“客户类别”值中,如果没有包含,则增加到总公司的“客户类别”值中,否则终止。

下面代码出错:

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "客户类别"
        Dim fdr As DataRow = e.DataTable.Find("客户名称 = \'" & dr("客户名称") & "\'")
        If fdr IsNot Nothing And fdr.Isnull("分公司") Then
            Dim lst As new List(of String)
            For Each nm As String In dr("客户类别").split(",")
                If lst.Contains(nm) = False Then
                    lst.Add(nm)
                End If
                fdr("客户类别") = lst
            Next
        End If
End Select


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


--  作者:有点蓝
--  发布时间:2018/3/16 21:18:00
--  
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "客户类别"
        If dr.IsNull("分公司") = False
            Dim fdr As DataRow = e.DataTable.Find("客户名称 = \'" & dr("客户名称") & "\' and 分公司 is null")
            If fdr IsNot Nothing Then
                Dim lst As new List(of String)
                lst.AddRange(fdr("客户类别").split(","))
                For Each nm As String In dr("客户类别").split(",")
                    If lst.Contains(nm) = False Then
                        lst.Add(nm)
                    End If
                Next
                fdr("客户类别") = String.Join(",",lst.ToArray)
            End If
        End If
End Select