确实选择的是第一条,原因很简单,你看看你的代码:
If e.DataCol.name = "简称"
If e.DataRow.isnull("简称") = False
Dim s As String = e.DataRow("简称")
Dim dr As DataRow = DataTables("工厂信息表").find("简称 = '" & s & "'")
If dr IsNot Nothing
e.DataRow("项目1")= dr("项目1")
e.DataRow("项目2")= dr("项目2")
e.DataRow("项目3")= dr("项目3")
End If
Else
e.DataRow("项目1")= Nothing
e.DataRow("项目2")= Nothing
e.DataRow("项目3")= Nothing
End If
End If
你用的是工厂简称,简称会重名,你应该用不重复的列,例如工厂ID列来区分不同的行。
我们区分一个人,不会用姓名区分,因为重名的太多,只能用身份证号码。
别人给你写的代码,你要去理解,否则给你写再多,你也没有办法进步,学会了1+1,换成1+2就不知道怎么算了。
还有你这样设计系统,以后能用吗?
逻辑都没有搞清楚,自己取的分厂名称,会出现重名? 你这不是和自己过不去吗?
如果不会重名,你在这里折腾什么?
如果会重名,为什么要根据名称来设计,为什么不改用ID?
如果会重名,凭证表不增加一个工厂ID列,那么用户看到444厂,怎么知道是那个444厂?
先理清楚自己的业务逻辑,再来设计,你自己对于需求都稀里糊涂,别人对你的帮助意义又何在?
[此贴子已经被作者于2016/9/23 8:53:35编辑过]