有:入库明细,表:DataColChanged 事件如下:
Sel ect Case e.DataCol.name
Case "入库单价"
Dim dr As DataRow = e.DataRow
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SEL ECT * F rom {材料} Where [定额编码] = '" & dr("定额编码") & "'"
dt = cmd.ExecuteReader(True)
If dt.DataRows.Count > 0 Then
dt.DataRows(0)("成本价") = dr("入库单价")
dt.Save()
End If
有,材料,表:DataColChanged 事件如下:
Sele ct e.DataCol.Name
Case "成本价"
If e.DataRow.IsNull("运杂费") Then
MessageBox.show(0)
e.DataRow("材料原价")=(e.DataRow("成本价")*e.DataRow("主材损耗率") * ( 1+e.DataRow("利润率")+e.DataRow("挂靠管理费率")))*(1+e.DataRow("增值税率"))
Else
MessageBox.show(1)
e.DataRow("材料原价")=((e.DataRow("运杂费")+e.DataRow("成本价")*e.DataRow("主材损耗率") )* ( 1+e.DataRow("利润率")+e.DataRow("挂靠管理费率")))*(1+e.DataRow("增值税率"))
End If
End Sele ct
材料,表的:成本价,手动,改变后, e.DataRow("材料原价") 会执行代码,改变。
但是,间接的,通过“入库明细”表,的第一段代码改变了:材料,表的:成本价,后。。材料,表的:材料原价,不变,代码不执行。
请教是哪里的问题?