1、
If e.DataCol.Name = "产品型号" orElse e.DataCol.Name = "订单号" Then '发生变化的是产品列.
'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列
e.DataRow("已提数量") = Tables("订单出库明细表").Compute("Sum(已提数量)","产品型号 = '" & e.DataRow("产品型号") & "' And 订单号 = '" & e.DataRow("订单号") & "'")
End If
2、
If e.DataCol.Name ="产品型号" Then '发生变化的是产品名称吗?
'在产品表找出该产品
Dim dr As DataRow = DataTables("产品入库表").Find("产品型号 = " & "'" & e.DataRow("产品型号") & "'" )
If dr IsNot Nothing'如果找到,则设置各列内容
e.DataRow("产品类别")= dr("产品类别")
If e.DataRow("单价") = Nothing Then
e.DataRow("单价")= dr("销售单价")
End If
End If
End If
3、强制重置代码,不要写到datacolchanged事件。如果要写请加上条件,如
DataTables("销售明细表").DataCols("产品型号").RaiseDataColChanged("产品型号 = '" & e.DataRow("产品型号") & "' And 订单号 = '" & e.DataRow("订单号") & "'")