Foxtable(狐表)用户栏目专家坐堂 → 【自定义汇总模式】


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

主题:【自定义汇总模式】

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/21 10:51:00 [显示全部帖子]

试试改成

 

For i As Integer = 0 To t.Rows.Count(True) - 2
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行

        r = t.rows(i-1, true)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 17:42:00 [显示全部帖子]

看看,这样写 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=124584&skin=0

 

如果自己不会,实例发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 21:57:00 [显示全部帖子]

以下是引用wangjx817在2018/11/22 21:28:00的发言:
OK,看你的链接实例基本理解,好像fo?x?ta?b?leoxtable帮助文档中的多级代码编写有误。非常感谢!

 

foxtable没有【多级代码】的,foxtable的例子,是一级分组的。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/29 9:23:00 [显示全部帖子]

Dim t As Table = Tables("松北所DMA分区统计表")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "分块"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "管理站"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal(True)

Dim r,r2 As Row
static pr As String
For i As Integer = t.Rows.Count(True) - 2 To 0 Step-1
    r = t.Rows(i,True)
   
    If r.IsGroup '如果是分组行
        If r.Level = 0 Then
            Dim f As String = "管理站 = '" & r("序号") & "'"
            output.show(f)
            pr = r("序号")
            Dim v As String = "  DMA小区:" & t.Compute("Count(小区编号)",f) & "个"
            v = v & "   考核表:" & t.Compute("Sum(合计)",f) & "个"
            v = v & "   单路表:" & t.Compute("Sum(单路)",f) & "个"
            v = v & "   多路表:" & t.Compute("Sum(多路)",f) & "个"
            r("序号") = "管理站:" & r("序号") & v
        ElseIf r.Level = 1 Then
            Dim f As String = "管理站 = '" & pr & "' and 分块 = '" & r("序号") & "'"
            output.show(f)
            Dim v As String = "  DMA小区:" & t.Compute("Count(小区编号)",f) & "个"
            v = v & "  考核表:" & t.Compute("Sum(合计)",f) & "个"
            v = v & "  单路表:" & t.Compute("Sum(单路)",f) & "个"
            v = v & "  多路表:" & t.Compute("Sum(多路)",f) & "个"
            r("序号") = "管理站:" & pr & "-" & r("序号") & ":" & v
           
        End If
    End If
Next
r2 = t.Rows(t.Rows.Count(True) - 1,True)
r2("序号") =  "松北所:总  计  DMA小区:" & t.Compute("Count(小区编号)","") & "个  考核表:" & t.Compute("Sum(合计)","") & "个  单路表:" _
& t.Compute("Sum(单路)","") & "个  多路表:" & t.Compute("Sum(多路)","") & "个"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/30 9:59:00 [显示全部帖子]

1、设置左对齐。

 

2、drawcell事件,执行代码

 

If e.Col.name = "序号" AndAlso e.Row.isgroup = False Then
    Dim g As Graphics = e.Graphics
    Dim sf As new StringFormat
    sf.Alignment = StringAlignment.Center
    sf.LineAlignment = StringAlignment.Center
    Dim fnt As New Font("宋体",9)
    Dim msg As String = e.text
    e.text = ""
    g.DrawString(msg,fnt,Brushes.black,  new Rectangle(e.x, e.y, e.width, e.height), sf)
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/30 11:31:00 [显示全部帖子]

需要加入辅佐列,然后隐藏列

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考核表统计 (2).table


 回到顶部