Foxtable(狐表)用户栏目专家坐堂 → 汇总统计问题


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

主题:汇总统计问题

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
汇总统计问题  发帖心情 Post By:2019/12/5 2:02:00 [只看该作者]

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

由图1生成图2报表,怎么生成?帮助中分组字段只能是一个,现在分组字段是二个房间号和品名,不知道怎么做了


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2019/12/5 2:03:14编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/5 8:42:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2019/12/5 8:56:00 [只看该作者]

 参考了,不是一个类型的,品名是变动的,不是静态的 ,如果品名静态的,就和那个一样了
[此贴子已经被作者于2019/12/5 8:57:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/5 9:12:00 [只看该作者]

没有区别,既然知道那就改为平时会使用的动态用法。帮助仅仅是帮助,帮助不是条条框框

Dim t As Table = Tables("表A")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
g = New Subtotalgroup
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 = ""
        For Each pm As String In DataTables("表A").GetValues("品名",f)
            v = v & "," &  pm & " :" & t.Compute("sum(数量)",f & " and 品名='" & pm & "'")
        Next
        r("房间号") = f & v
    End If
Next

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2019/12/5 9:15:00 [只看该作者]

 我们不是很专业,请老师谅解

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/5 9:16:00 [只看该作者]

这个不是专业不专业的问题,是解决问题的思维、思路。代码都是死的,脑子是活的....
[此贴子已经被作者于2019/12/5 9:16:04编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2019/12/5 11:34:00 [只看该作者]

Dim cnt As  Integer
Dim tbl As Table =  Tables("表A")
Dim drs As  List(Of DataRow)
Dim pds As  List(Of String) = tbl.DataTable.GetValues("")
rt.Style.Font = New Font("宋体", 11, FontStyle.Bold) '设置字体
rt.Style.GridLines.All = New prt.LineDef(0.3,Color.black)
rt.CellStyle.Spacing.All = 1
rt.Style.Font = tbl.Font
For c As Integer = 0 To tbl.Cols.Count - 1  '生成列标题
    rt.Cells(0,c).Text = tbl.Cols(c).Name
    rt.Cols(c).Width = tbl.Cols(c).PrintWidth
    rt.Style.TextAlignVert = prt.AlignHorzEnum.Center
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
Next
For Each pd As String In pds '分产品打印
    For Each dr As DataRow In drs '逐行打印此产品的订单
        cnt = rt.Rows.Count


            For c As Integer = 0 To tbl.Cols.Count - 1
                rt.Cells(cnt, c).Text = dr(tbl.Cols(c).Name)
            Next
    Next
    cnt = rt.Rows.Count
Next

 

这样的报表,能用这种方法打印吗?如果能,怎么改一下?


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/5 11:46:00 [只看该作者]

For Each pd As String In pds '分产品打印
    For Each dr As DataRow In drs '逐行打印此产品的订单
        cnt = rt.Rows.Count


            For c As Integer = 0 To tbl.Cols.Count - 1
                rt.Cells(cnt, c).Text = dr(tbl.Cols(c).Name)
            Next
    Next
    cnt = rt.Rows.Count

加统计代码?在这里加即可?方法参考上面的用法
Next


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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2019/12/5 11:57:00 [只看该作者]

 不行,会报错,找不到该列,老师帮忙写一下呗
[此贴子已经被作者于2019/12/5 12:26:30编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/5 13:38:00 [只看该作者]

写了什么代码,贴出来

 回到顶部
总数 12 1 2 下一页