Select Case e.DataCol.Name
Case "确认", "第一列", "第五列"
If e.DataRow("确认") = True Then
Dim ss() As String
Dim ss3() As String
If e.DataRow.IsNull("第一列") = False And e.DataRow.IsNull("第五列") = False Then
' ss = e.DataRow("第一列").split(",")
ss = ( e.DataRow("第一列").split(","), e.DataRow("第五列").split(","))
' ss3 = e.DataRow("第五列").split(",")
For Each s As String In ss
' "'")
If dr9 Is Nothing Then
dr9 = DataTables("表B").AddNew
dr9("第一列") = s
dr9("第五列") = s
dr9("识别码") = e.DataRow("识别码")
End If
Next
End If
If e.DataCol.Name = "第一列" AndAlso e.oldvalue > "" And e.DataCol.Name = "第五列" AndAlso e.oldvalue > "" Then
' If e.DataCol.Name = "第一列" AndAlso e.oldvalue > "" Then
For Each s As String In e.oldvalue.split(",")
Output.Show(s)
End If
Next
End If
DataTables("表B").Save()
End If
End Select
[此贴子已经被作者于2024/3/22 16:53:37编辑过]
不要老是靠自己的想象力创造不存在的用法好不。
方法1、分开处理,先遍历"第一列"处理,再使用同样的代码遍历"第五列"处理
2、使用集合,把多个拆分的数组合添加到集合里,再遍历
'
[此贴子已经被作者于2024/3/23 15:54:21编辑过]
http://www.foxtable.com/webhelp/topics/0217.htm
Dim Names As New List(Of String)
Names.AddRange(e.DataRow("第一列").split(","))
Names.AddRange(e.DataRow("第五列").split(","))
从字符串“ss”到类型“Integer”的转换无效。
输入字符串的格式不正确。
Dim Names As New List(Of String)
Names.AddRange(e.DataRow("第一列").split(","))
Names.AddRange(e.DataRow("第五列").split(","))
For Each Name As String In Names
Output.Show(Name)
Names.InsertRange("ss", "s") '
Names.InsertRange("ss3", "s3") '
Next
没看太懂,上报错,请帮处理
去掉下面2句
Names.InsertRange("ss", "s") '
Names.InsertRange("ss3", "s3") '
建议有时间还是多看看编程基础吧
去掉下面2句,也没有达到,没在同一行,需求是要在同一行,如何处理?
[此贴子已经被作者于2024/3/23 15:53:58编辑过]
[此贴子已经被作者于2024/3/23 15:53:41编辑过]
Select Case e.DataCol.Name
Case "确认", "第一列", "第五列"
If e.DataRow("确认") = True AndAlso e.DataRow.IsNull("第一列") = False AndAlso e.DataRow.IsNull("第五列") = False Then
Dim Names As New List(Of String)
Names.AddRange(e.DataRow("第一列").split(","))
Names.AddRange(e.DataRow("第五列").split(","))
For Each s As String In Names
Dim dr9 As DataRow = DataTables("表B").find("第一列='" & s & "' and 识别码='" & e.DataRow("识别码") & "'")
If dr9 Is Nothing Then
dr9 = DataTables("表B").AddNew
End If
dr9("第一列") = s
dr9("识别码") = e.DataRow("识别码")
Next
DataTables("表B").Save()
End If
End Select
磨刀不误砍柴工,建议还是重头学学基础