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


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

主题:[求助]汇总模式

帅哥哟,离线,有人找我吗?
江南小城
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/18 10:54:00 [只看该作者]


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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/6/18 11:09:00 [只看该作者]

要知其然,知其所以然,7楼告诉你改名称,意思是改为第一列的名称,既然第一列的名称是编号,你就改为编号啊:

 

 

Dim t As Table = Tables("进销存")
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.Filter = "日期 >= #9/1/2015# And 日期 <= #12/28/2015#"
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "商品名称 = '" & r("编号") & "'"
        Dim v As String =  "  交易数:" & t.Compute("Count(日期)",f)
        v = v & "  数量:" & t.Compute("Sum(出库_数量)",f)
        v = v & "  金额:" & t.Compute("Sum(出库_金额)",f)
        r("商品名称") = "商品:" & r("编号") & v
    End If
Next
t.ResumeRedraw()
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/6/18 11:11:00 [只看该作者]

为了通用,可以:

 

Dim t As Table = Tables("进销存")
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.Filter = "日期 >= #9/1/2015# And 日期 <= #12/28/2015#"
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "商品名称 = '" & r(t.Cols(0).Name) & "'"
        Dim v As String =  "  交易数:" & t.Compute("Count(日期)",f)
        v = v & "  数量:" & t.Compute("Sum(出库_数量)",f)
        v = v & "  金额:" & t.Compute("Sum(出库_金额)",f)
        r("商品名称") = "商品:" & r(t.Cols(0).Name) & v
    End If
Next
t.ResumeRedraw()
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行


 回到顶部
帅哥哟,离线,有人找我吗?
江南小城
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/20 16:31:00 [只看该作者]

老师,我要在下面代码中加入"入库_数量","入库_金额"

Dim t As Table = Tables("进销存")
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.Filter = "日期 >= #1/1/2015# And 日期 <= #12/31/2015#"
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.TotalOn = "出库_数量,出库_金额"

g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户名称"
g.TotalOn = "出库_数量,出库_金额"

g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "出库_数量,出库_金额"

g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()
t.ResumeRedraw()
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/6/20 16:33:00 [只看该作者]

g.TotalOn = "出库_数量,出库_金额"

 

改为:

 

g.TotalOn = "出库_数量,出库_金额,入库_数量,入库_金额"


 回到顶部
总数 15 上一页 1 2