
此主题相关图片如下:qq截图20131009151533.png
事件代码: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)
dr("未结数量") = Val1 - Val2
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)
dr("未结数量") = Val1 - Val2
Next
End If
End Select
For Each r As Row In Tables("表A").Rows
If r("未结数量") = r("合格数量") Then
r("结账情况")="未结账"
ElseIf r("未结数量") < r("合格数量") And r("未结数量")>0 Then
r("结账情况")="结账中"
ElseIf r("未结数量")=0
r("结账情况")="已结账"
End If
Next
但是这个功能只能在第一排实现 有没办法拍都实现 未结数量在不同阶段时 结账情况就跟着发生变化
[此贴子已经被作者于2013-10-9 15:33:31编辑过]