明细表DataColChanged里面的代码:
Dim zdmc As DataRow
'在总表表查找所输入的单号行
zdmc = DataTables("订单总表").Find("[订单ID] = '" & e.DataRow("订单ID") & "'")
If zdmc IsNot Nothing Then '如果找到
'将找到名称内容填入到正在输入的行中.
e.DataRow("id2") = zdmc("id2")
e.DataRow("订单日期") = zdmc("订单日期")
e.DataRow("月份") = zdmc("月份")
e.DataRow("年份") = zdmc("年份")
e.DataRow("订单类型") = zdmc("订单类型")
e.DataRow("部门1") = zdmc("部门1")
e.DataRow("部门2") = zdmc("部门2")
e.DataRow("编号") = zdmc("编号")
e.DataRow("客户名称") = zdmc("客户名称")
e.DataRow("区域") = zdmc("区域")
e.DataRow("实际用途") = zdmc("实际用途")
' e.DataRow("备注说明") = zdmc("备注说明")
e.DataRow("省市") = zdmc("省市")
e.DataRow("县市") = zdmc("县市")
e.DataRow("终点") = zdmc("终点")
e.DataRow("订单区域") = zdmc("订单区域")
End If
Dim je As DataRow = e.DataRow '定义je为当前行
Select Case e.DataCol.Name '如果列名称
Case "单价","数量","包装系数" '变化的是这些列
If je.IsNull("数量") Then
je("件数") = Nothing
je("金额") = Nothing
Tables("订单总表").Current("订单金额")=DataTables("订单明细表").Compute("sum(金额)" ,"[订单ID] = '" & e.DataRow("订单ID") & "'")
Else
je("件数") = je("数量") / je("包装系数")
je("金额") = je("数量") * je("单价")
Tables("订单总表").Current("订单金额")=DataTables("订单明细表").Compute("sum(金额)" ,"[订单ID] = '" & e.DataRow("订单ID") & "'")
End If
End Select
If e.DataCol.Name = "提交" Then '如果是已结帐列的内容变动
If e.NewValue = True Then '而且变动后的值是True(已勾选)
e.DataRow.Locked = True '那么锁定此行
End If
End If