If e.DataCol.Name<>"通打数量" Then
Dim dr As DataRow = e.DataRow
If iif(dr("通打数量") Is Nothing,0,dr("通打数量")) = 0 Then
dr("通打数量") = iif(dr("合同数量") Is Nothing,0,dr("合同数量")) - iif(dr("库存") Is Nothing,0,dr("库存"))+ iif(dr("补数") Is Nothing,0,dr("补数"))
Else
If e.DataCol.Name = "库存" Then
dr("通打数量") = dr("通打数量") - dr("库存")
End If
If e.DataCol.Name = "补数" Then
dr("通打数量") = dr("通打数量") + dr("补数")
End If
End If
End If
试一下,