这样就不需要好多Case了:
If e.DataCol.Name = "回路代码"Then
Dim dr As DataRow
Dim nm As String = e.DataRow("回路类型")
If DataTables.Contains(nm) Then
dr = DataTables("电动机").Find("回路代码= " & "'" & e.DataRow("回路代码") & "'" )
End If
If dr IsNot Nothing '如果找到, 则设置各列内容
e.DataRow("属性1")= dr("属性1")
e.DataRow("属性2")= dr("属性2")
End If
End If
另外: 如果数据结构基本一样,没有必要分开这么多个表。