Select Case e.DataCol.Name Case "收发品名型号和规格","收发数量","库存金额变化","无税成本变化额"
Dim drs As List(of DataRow)
Dim Filter As String
Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [收发品名型号和规格] = '" & e.DataRow("收发品名型号和规格") & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_SortKey] <= " & dr("_SortKey") & " And [收发品名型号和规格] = '" & dr("收发品名型号和规格") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(收发数量)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(库存金额变化)",Filter)
Dim Val3 As Double = e.DataTable.Compute("Sum(无税成本变化额)",Filter)
dr("库存结余数量") = Val1
dr("库存结余金额") = Val2
dr("库存结余成本金额") = Val3
Next
If e.DataCol.Name = "收发品名型号和规格" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [收发品名型号和规格] = '" & e.OldValue & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_SortKey] <= " & dr("_SortKey") & " And [收发品名型号和规格] = '" & dr("收发品名型号和规格") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(收发数量)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(库存金额变化)",Filter)
Dim Val3 As Double = e.DataTable.Compute("Sum(无税成本变化额)",Filter)
dr("库存结余数量") = Val1
dr("库存结余金额") = Val2
dr("库存结余成本金额") = Val3
Next
End If
End Select