改为数据列,发电录入表Datacolchanged事件代码改改
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.name
Case "设备_1","设备_2","设备_3"
dr("日发电") = dr("设备_1") + dr("设备_2") + dr("设备_3")
End Select
If e.DataCol.Name = "名称" Then '如果内容发生变动的是名称列
If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
e.DataRow("装机容量") = Nothing '那么清空此行单价列的内容
Else
Dim fd As DataRow
'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
fd = DataTables("安装信息").Find("[名称] = '" & e.NewValue & "'")
If fd IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("装机容量") = fd("装机容量")
End If
End If
End If