产品名称可以自动生成!就是产品ID自动生成有问题,测试 a1 a2 a3 都正常!Dim de As DataRow
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "产品规格" , "产品类目", "大小", "产品材质" ,"产品简称"
If dr.IsNull("产品规格") OrElse dr.IsNull("产品简称") OrElse dr.IsNull("产品材质") OrElse dr.IsNull("大小") OrElse dr.IsNull("产品类目") Then
dr("产品名称") = Nothing
dr("产品ID") = Nothing
Else
Dim Parts() As String = {dr("产品材质"),dr("产品简称") ,dr("产品规格"),dr("大小")}
Dim Str1 As String
Str1 = String.Join("-", Parts)
dr("产品名称") = Str1
de = DataTables("产品编码").find("材质 = '"& e.datarow("产品材质")&"'")
If de IsNot Nothing Then '如果找到, 则设置各列内容
a1= de("材质ID")
End If
de = DataTables("产品编码").find("规格 = '"& e.datarow("产品规格")&"'")
If de IsNot Nothing Then '如果找到, 则设置各列内容
a2= de("规格ID")
End If
Dim d1 As String
d1 = e.DataRow("产品类目")
a3 = dr("产品类目") & "ID"
If dr.Isnull("产品规格") OrElse dr.Isnull("产品简称") Then
de = DataTables("产品编码").find( "d1 = '"& e.datarow("产品简称")&"'")
If de IsNot Nothing Then '如果找到, 则设置各列内容
a4 = de("a3")
End If
End If
If dr.Isnull("大小") Then
dr("产品ID") =Nothing
End If
MessageBox.show(a4)
Dim Parts2() As String = {a1,a4,a2,dr("大小")}
Dim Str2 As String
Str2 = String.Join("-", Parts2)
dr("产品ID") = Str2
End If
End Select
[此贴子已经被作者于2015/9/22 10:09:49编辑过]