If e.DataCol.Name = "数量" Then Dim pr As DataRow pr = DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'") If pr IsNot Nothing Then pr("数量")= pr("数量") + e.NewValue - e.OldValue End IfEnd If
代码的原理很简单,修改某订单的数量后,上面的代码会在统计表找出对应的产品,然后将该产品的数量累计值加上此订单的新数量值,并减去此订单的原数量值,得到该产品最新的销售数量。
假如订单数量第一次是20,那么统计数量应该也是20,第二次订单数量是30,那么统计数量不应该是20+30=50吗?第三次订单数量是10,那统计表中的数量不应该是50+10=60,减去订单的原数量值怎么理解?