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("[行号] < " & mr("行号") & " And [产品编号] = '" & mr("产品编号") & "'", "[行号] Desc")
If dr Is Nothing Then
mr("库存_数量") = mr("期初_数量") + mr("入库_数量") - mr("出库_数量")
dr = mr
End If
drs = e.DataTable.Select("[行号] >= " & dr("行号") & " And [产品编号] = '" & dr("产品编号") & "'", "[行号]")
For 行号 As Integer = 1 To drs.Count - 1
drs(行号)("库存_数量") = drs(行号 - 1)("库存_数量") + drs(行号)("入库_数量") - drs(行号)("出库_数量")
Next
If e.DataCol.Name = "产品编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
dr = e.DataTable.Find("[行号] < " & mr("行号") & " And [产品编号] = '" & e.OldValue & "'", "[行号] Desc")
If dr Is Nothing Then
dr = e.DataTable.Find("[产品编号] = '" & e.OldValue & "'", "[行号]")
If dr IsNot Nothing Then
dr("库存_数量") = dr("入库_数量") - dr("出库_数量")
End If
End If
If dr IsNot Nothing Then
drs = e.DataTable.Select("[行号] >= " & dr("行号") & " And [产品编号] = '" & dr("产品编号") & "'", "[行号]")
For 行号 As Integer = 1 To drs.Count - 1
drs(行号)("库存_数量") = drs(行号 - 1)("库存_数量") + drs(行号)("入库_数量") - drs(行号)("出库_数量")
Next
End If
End If
End Select
有时会升序,有时会降序,有时中间插入,如何让它按固定一种?比如在最后一行
此主题相关图片如下:新增顺序.png
