Select Case e.DataCol.Name
Case "型号","入库","出库"
Dim dr As DataRow
Dim mr As DataRow = e.DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [型号] = \'" & mr("型号") & "\'", "[_SortKey] Desc")
If dr Is Nothing Then \'如果没有上一行,说明本行就是同产品的第一行
mr("库存") = mr("入库") - mr("出库")
dr = mr
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [型号] = \'" & dr("型号") & "\'")
For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库")
Next
End Select