以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=196024)

--  作者:苏州老街
--  发布时间:2025/3/24 8:41:00
--  [求助]计算
老师好,我想让计算的结果显示在最后一行。谢谢老师!


Select Case e.DataCol.Name
    Case "客户id","客户","摘要","付款金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [客户id] = \'" & e.DataRow("客户id") & "\' and [客户] = \'" & e.DataRow("客户") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
        drs = e.DataTable.Select(Filter)
        
        For i As Integer = 0 To drs.Count - 1
            Dim dr = drs(i)
            If i = drs.Count - 1 Then
                Filter = "[_Identify] <= " & dr("_Identify") & " And [客户id] = \'" & dr("客户id") & "\' and [客户] = \'" & e.DataRow("客户") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(合计金额)",Filter)
                dr("累计付款") = Val1
            Else
                dr("累计付款") = Nothing
            End If
        Next
        If e.DataCol.Name = "客户id" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [客户id] = \'" & e.OldValue & "\'  and [客户] = \'" & e.DataRow("客户") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
            drs = e.DataTable.Select(Filter)
            For i As Integer = 0 To drs.Count - 1
                Dim dr = drs(i)
                If i = drs.Count - 1 Then
                    Filter = "[_Identify] <= " & dr("_Identify") & " And [客户id] = \'" & dr("客户id") & "\'  and [客户] = \'" & e.DataRow("客户") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(合计金额)",Filter)
                    dr("累计付款") = Val1
                Else
                    dr("累计付款") = Nothing
                End If
            Next
        End If
        If e.DataCol.Name = "客户" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [客户] = \'" & e.OldValue & "\'  and [客户id] = \'" & e.DataRow("客户id") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
            drs = e.DataTable.Select(Filter)
            For i As Integer = 0 To drs.Count - 1
                Dim dr = drs(i)
                If i = drs.Count - 1 Then
                    Filter = "[_Identify] <= " & dr("_Identify") & " And [客户] = \'" & e.OldValue & "\'  and [客户id] = \'" & e.DataRow("客户id") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(合计金额)",Filter)
                End If
                If e.DataCol.Name = "摘要" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
                    Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [摘要] = \'" & e.OldValue & "\'  and [客户] = \'" & e.DataRow("客户") & "\' and [摘要] = \'" & e.DataRow("摘要") & "\'"
                End If
            Next
        End If
End Select


--  作者:有点蓝
--  发布时间:2025/3/24 8:52:00
--  
整个表的最后一行?做合计?