Select Case e.DataCol.name
Case "存货名称"
If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
e.DataRow("单价") = Nothing '那么清空此行单价列的内容
Else
Dim dr As DataRow
'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
dr = DataTables("存货").Find("[存货名称] = '" & e.NewValue & "'")
If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("销售单位") = dr("销售常用单位")
e.DataRow("税率")=dr("税率")
'e.DataRow("交货日期")
End If
End If
'销售订单日期赋值到销售订单明细表
Dim pr As DataRow=e.DataRow.getparentrow("销售订单")
e.DataRow("交货日期")= pr("交货日期")
Case "数量","单价","税率"
Dim dr1 As DataRow = e.DataRow
dr1("金额")= dr1("单价") * dr1("数量")
dr1("含税单价")=dr1("单价")*(1+dr1("税率")/100)
dr1("含税金额")=dr1("含税单价")*dr1("数量")
Case "存货名称","交货日期"
Dim dr3 As DataRow = DataTables("预计库存表").AddNew()
dr3("相关单据编号") = e.DataRow("单据编号")
dr3("日期") =e.DataRow("交货日期")
dr3("存货名称") =e.DataRow("存货名称")
End Select
If e.DataCol.name = "数量" Then
Dim dr4 As DataRow = DataTables("预计库存表").Find("相关单据 = '" & e.DataRow("单据编号") & "'")
If dr4 IsNot Nothing Then
dr4("预计出库") = e.DataRow("数量")
End If
End If