If e.DataRow.IsNull("件") Then
MessageBox.Show("要关闭了")
e.DataRow("金额") = e.DataRow("包") * e.DataRow("单价")
MessageBox.Show(e.DataRow("金额") )
e.DataRow("箱") = e.DataRow("包") / e.DataRow("规格")
Else
e.DataRow("包") = e.DataRow("件") * e.DataRow("规格")
e.DataRow("金额") = e.DataRow("件") * e.DataRow("单价")
e.DataRow("箱") = e.DataRow("件")
End If
“箱”列本来就是表达式列了,你还在DATACHANGED事件中对它赋值,这样会引起无限循环从而系统出错。