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("型号") & mr("均码") & mr("颜色") & "'", "[_SortKey] Desc") If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行 mr("库存") = mr("入库") - mr("出库") dr = mr End If drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [型号] + [均码] + [颜色] = '" & mr("型号") & mr("均码") & mr("颜色") & "'") For i As Integer = 1 To drs.Count - 1 '重算余下行的余额 drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库") Next End Select
|