没办法,不能用datacolchanged,太慢了,直接计算吧。1-2分钟,等一下。
SystemReady = False
DataTables("表A").StopRedraw
Dim drs As List(of DataRow) = DataTables("表A").Select("", "标识")
Dim prevBZ As String = ""
For i As Integer = 0 To drs.Count - 1
If drs(i)("标识") <> prevBZ Then
Dim mr As DataRow = drs(i)
mr("余量") = mr("结存量") - mr("入库量")
If mr("余量") >= 0 Then
mr("分摊数量") = mr("入库量")
Else
mr("分摊数量") = mr("结存量")
End If
prevBZ = mr("标识")
Else
drs(i)("余量") = drs(i-1)("余量") - drs(i)("入库量")
If drs(i)("余量") > = 0 Then
drs(i)("分摊数量") = drs(i)("入库量")
Else
drs(i)("分摊数量") = drs(i-1)("余量")
End If
End If
Next
DataTables("表A").ResumeRedraw
SystemReady = True