Foxtable(狐表)用户栏目专家坐堂 → 汇总模式 如何将日期放在最后分组?


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

主题:汇总模式 如何将日期放在最后分组?

美女呀,离线,留言给我吧!
水墨青花
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
汇总模式 如何将日期放在最后分组?  发帖心情 Post By:2022/11/1 16:49:00 [只看该作者]

老师,您好:

现希望能够进行如下汇总:每周 各个项目 在某个状态下的清单,请问该如何把日期按 “每周” 汇总,并放在最后?

谢谢!

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/1 17:00:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2022/11/1 18:56:00 [只看该作者]


可能我没表达清晰,我希望日期的分组,是最顶层的分组,其后才是 其他分组。
现在的问题是,日期的分组 (code中在最前面),结果展现出来,是在最底层。见下图

图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2022/11/1 18:57:00 [只看该作者]

希望 “周”的分组,能够在 “最顶层”,其下面才是  周几、项目、条件。

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/1 19:56:00 [只看该作者]

贴出完整代码看看

 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2022/11/2 9:15:00 [只看该作者]

就是希望在这组代码下,加入 日期的周分组,但是“周分组”在最顶层,而不是最底层的分组。谢谢!

Dim t As Table = Tables("TableA")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = True
t.SpillNode = True

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "条件"
g.TotalOn = "批号"
g.Caption = "{0} "
t.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "项目"
g.TotalOn = ""
g.Caption = "{0}"
t.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "星期"
g.TotalOn = ""
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 Then
        Dim xm As String
        Select Case r.Level
            Case 0
                r("条件") = r("实验ID")
                r("实验ID") = Nothing
            Case 1
                r("条件") = r("实验ID")
                r("实验ID") = Nothing
            Case 2
                r("实验ID") = r("实验ID") & " : " & r("批号") & "批" 
                r("批号") = Nothing
        End Select 
    End If
Next

t.Grid.Tree.Show(2)



 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2022/11/2 9:18:00 [只看该作者]

加载的数据经常是 跨月的,所以希望在 某一周内(最顶层),按照 “星期几、项目、条件” 的顺序 依次向下分组

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


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

把星期的代码放到前面

Dim t As Table = Tables("TableA")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = True
t.SpillNode = True

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "星期"
g.TotalOn = ""
g.Caption = "【周{0}】"
t.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "条件"
g.TotalOn = "批号"
g.Caption = "{0} "
t.SubtotalGroups.Add(g)
……

 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1652 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2022/11/2 17:51:00 [只看该作者]

老师, 现在的问题跟 “星期”无关,星期列,只是周几DayOfWeek,字符列。

我的问题是 “日期”列,Date, 如果把 “日期” 列加入到分组中,按周Week分组(如下),然后这个分组 放在最后,也就是分组的最顶层,而不是放在最前面。

当我把如下code放在最后时,会报错“汇总模式的日期分组必须作为第一个分组”,但是如果放在最前面,日期分组就成了最底层的分组。我需要的是 每周下 的其他汇总分组。

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Count
g.GroupOn = "日期"
g.TotalOn = ""
g.Caption = "{0} 周"
t.SubtotalGroups.Add(g)


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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/3 8:34:00 [只看该作者]


 回到顶部