以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多值字段的判断代码怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122358)

--  作者:初心不改再说未来
--  发布时间:2018/7/23 20:33:00
--  多值字段的判断代码怎么写
老师你好,比如某行多值字段中有ABCDE5个状态,现要求字段中存在CDE才向另外一个表中新增数据,如果字段中为A或B,则不向另一个表中新增数据,这个判断代码怎么写呢.....谢谢
--  作者:有点蓝
--  发布时间:2018/7/23 20:42:00
--  
Dim lst As new List(of String)
lst.AddRange(e.DataRow().split(","))
If lst.Contains("A") Then
    msgbox("包含A")
End If

--  作者:初心不改再说未来
--  发布时间:2018/7/23 20:46:00
--  
如果多值字段中包括已付定金","已结束",“尾款已交,则向计调操作表新增数据,代码对不对?麻烦老师看下

额,提示split不是DataRow的成员

Dim lst As new List(of String)
lst.AddRange(e.DataRow().split(","))
If lst.Contains("已付定金","已结束",“尾款已交”) Then
    
Select Case e.DataCol.name
    Case "订单编号"
        Dim dr As DataRow = DataTables("计调操作表").Find("订单编号 = \'" & e.OldValue & "\'")
        If dr Is Nothing Then 
            dr = DataTables("计调操作表").AddNew()
            dr("订单编号") = e.DataRow("订单编号")
            dr("客人姓名") = e.DataRow("客人姓名")
            dr("出行行程") = e.DataRow("出行行程")
        Else
            dr("订单编号") = e.DataRow("订单编号")
        End If
    Case "客人姓名","出行行程"
        Dim dr As DataRow = DataTables("计调操作表").Find("订单编号 = \'" & e.DataRow("订单编号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

End If

--  作者:有点蓝
--  发布时间:2018/7/23 20:55:00
--  
lst.AddRange(e.DataRow(这里就不会自己加上列名吗,别人教的是方法、逻辑,不是拿来抄的,使用前先学会理解一下).split(","))