Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2992人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/7 22:22:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 9:29:00 [显示全部帖子]

DataColChanged事件

 

If e.DataCol.Name = "客户ID" Then
    Dim Filter As String = "[客户ID] = '" & e.NewValue & "'"
    Dim fdr As DataRow = e.DataTable.Find(filter)
    If fdr Is Nothing Then
        e.DataRow("采购金额") = DataTables("入库明细").Compute("Sum(入库_金额)", Filter)
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 11:38:00 [显示全部帖子]

 看4楼代码。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 12:40:00 [显示全部帖子]

 你输入 客户ID 才会有效啊

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 14:38:00 [显示全部帖子]

1、填入客户id号,如果id没有重复,就会执行统计的代码;

 

2、如果id重复,就不会执行统计的代码;

 

3、要重置,也要重置客户id列啊


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 15:16:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:应付款.table


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/8 16:14:00 [显示全部帖子]

If e.DataCol.Name = "客户ID" Then
    Dim Filter As String = "[客户ID] = '" & e.NewValue & "'"
    e.DataTable.ReplaceFor("采购金额", Nothing, filter)
    e.DataRow("采购金额") = DataTables("入库明细").Compute("Sum(入库_金额)", Filter)
Else If e.DataCol.Name = "付款_金额" OrElse e.DataCol.Name = "采购金额" Then
    Dim fk As Double = e.DataTable.Compute("sum(付款_金额)", "客户id = '" & e.DataRow("客户id") & "' and _Identify <= " & e.DataRow("_Identify"))
    Dim Filter As String = "[客户ID] = '" & e.DataRow("客户id") & "'"
    Dim cg As Double = DataTables("入库明细").Compute("Sum(入库_金额)", Filter)
    e.DataRow("剩余欠款") = cg - fk
End If

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 9:22:00 [显示全部帖子]

Datacolchanged事件,加入代码

 

 Select Case e.DataCol.Name
    Case "客户id","付款_金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [客户id] = '" & e.DataRow("客户id") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[_SortKey] <= " & dr("_SortKey") & " And [客户id] = '" & dr("客户id") & "'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(付款_金额)",Filter)
            dr("累计付款") = Val1
        Next
        If e.DataCol.Name = "客户id" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [客户id] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "[_SortKey] <= " & dr("_SortKey") & " And [客户id] = '" & dr("客户id") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(付款_金额)",Filter)
                dr("累计付款") = Val1
            Next
        End If
End Select

 

http://www.foxtable.com/help/topics/1572.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 10:08:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "客户id","付款_金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [客户id] = '" & e.DataRow("客户id") & "'"
        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 = "[_SortKey] <= " & dr("_SortKey") & " And [客户id] = '" & dr("客户id") & "'"
                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 = "[_SortKey] > " & e.DataRow("_SortKey") & " And [客户id] = '" & e.OldValue & "'"
            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 = "[_SortKey] <= " & dr("_SortKey") & " And [客户id] = '" & dr("客户id") & "'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(付款_金额)",Filter)
                    dr("累计付款") = Val1
                Else
                    dr("累计付款") = Nothing
                End If
            Next
        End If
End Select

 回到顶部