狐爸,
今天发现一个严重的问题,不知道是不是Bug,特做了一个新实例发上来,问题如下:
请打开项目,当发货明细数量大于订单的数量时候,会运行下面①处代码,然后系统就自动关闭掉了,急需请狐爸帮忙,谢谢。
这是发货明细的DataColChanged事件代码:
Dim num1,num2 As Double
Select Case e.DataCol.Name
Case "发货数量"
If e.NewValue <= 0 Then
e.DataRow("发货数量") = e.OldValue
Return
End If
Dim dr As DataRow = DataTables("订单明细").Find("ID = '" & e.DataRow("ID") &"'")
If dr IsNot Nothing Then
num1 = dr("已发货") - e.OldValue +e.NewValue
num2 = dr("未发货") + e.OldValue
If num1 > dr("订单数量") Then ' ①运行此处代码时系统立即自动关闭
e.DataRow("发货数量") = num2
MessageBox.Show("发货数量不得大于订单数量")
Return
End If
If num1 < 0 Then ' ②运行此处代码时系统立即自动关闭
e.DataRow("发货数量") = num2
MessageBox.Show("总发货数量不得小于0")
Return
End If
dr("已发货") = num1
End If
End Select
[此贴子已经被作者于2013-5-3 9:55:12编辑过]