Foxtable(狐表)用户栏目专家坐堂 → weui的list界面如何按日期字段的月来分组汇总?


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

主题:weui的list界面如何按日期字段的月来分组汇总?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 13:39:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 13:41:00 [显示全部帖子]

1、可以直接做分组统计,然后根据统计表输出
2、如果指直接在表格里编辑,是不行的

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 14:11:00 [显示全部帖子]

自己加条件,看2楼

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 14:33:00 [显示全部帖子]

If r("日期").month <> lr("日期").month  Then
Dim y As Integer = lr("日期").year'指定年份
Dim 
m As Integer = lr("日期").month '指定月份
Dim dt1 As New Date(ym1)
Dim 
dt2 As New Date(ymDate.DaysInMonth(y,m)) '获取该月的最后一天
Totalfee = dt.compute("sum(总费用)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 16:02:00 [显示全部帖子]

选中了汇总行吧,汇总行肯定是没有主键的

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 16:27:00 [显示全部帖子]

随便给个固定的值呗,然后代码里判断是这个值就不处理

                With .Body.AddRow()
                .Primarykey = -1 '设置主键
                    .Attribute = "style='background-color:#FFFFE0;font-weight:bold'"
                    .AddCell(m & "月" & "小计:")
                    .AddCells(Totalfee,Tyuncunfee,Tshouxufee,Tofflinefee,Ttixianfee)
                End With
[此贴子已经被作者于2021/2/8 16:27:36编辑过]

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 16:47:00 [显示全部帖子]

If r("日期").month <> lr("日期").month orelse i = dt.DataRows.count - 1 Then

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 20:43:00 [显示全部帖子]

那就最后再加一个汇总的代码,汇总最后一行所在的月份的数据

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 21:32:00 [显示全部帖子]

    For i As Integer = 0 To dt.DataRows.count - 1

        Dim r As DataRow = dt.DataRows(i)
        If i > 0 Then
            Dim lr As DataRow = dt.DataRows(i-1)
            'If r("日期").month <> lr("日期").month  Then

If r("日期").month <> lr("日期").month  Then
                'Totalfee = dt.compute("sum(总费用)")
                Dim y As Integer = lr("日期").year '指定年份
                Dim m As Integer = lr("日期").month '指定月份
                Dim dt1 As New Date(y, m, 1)
                Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
                Totalfee = dt.compute("sum(总费用)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tyuncunfee=dt.compute("sum(预存扣)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tshouxufee=dt.compute("sum(手续费)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tofflinefee=dt.compute("sum(线下)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Ttixianfee=dt.compute("sum(提现)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                '------------------------
                With .Body.AddRow()
                    .Primarykey = -1 '主键为-1时
                    .Attribute = "style='background-color:#FFFFE0;font-weight:bold'"
                    .AddCell(m & "月" & "小计:")
                    .AddCells(Totalfee,Tyuncunfee,Tshouxufee,Tofflinefee,Ttixianfee)
                End With
            End If
        End If

        With .Body.AddRow(r("日期"),r("总费用"),r("预存扣"),r("手续费"),r("线下"),r("提现"))
            .Primarykey = r("memid") '设置主键
        End With
        
    Next
这里在加一段和什么汇总的代码一样的代码,汇总最后一行所在的月份的数据
    'Totalfee  = dt.compute("sum(总费用)")
    'Tyuncunfee = dt.compute("sum(预存扣)")
    'If EndRow >= Count Then
        '.Body.AddRow("总计","","",Totalfee,"",Tyuncunfee,"").Attribute = "style='background-color:#98FB98';font-weight:bold;"
    'End If

End With

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


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 22:00:00 [显示全部帖子]

   Next
这里在加一段和什么汇总的代码一样的代码,汇总最后一行所在的月份的数据
dim lr2 as datarow = dt.DataRows(dt.DataRows.count - 1)
                Dim y As Integer = lr2("日期").year '指定年份
                Dim m As Integer = lr2("日期").month '指定月份
                Dim dt1 As New Date(y, m, 1)
                Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
                Totalfee = dt.compute("sum(总费用)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tyuncunfee=dt.compute("sum(预存扣)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tshouxufee=dt.compute("sum(手续费)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Tofflinefee=dt.compute("sum(线下)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                Ttixianfee=dt.compute("sum(提现)","日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
                '------------------------
                With .Body.AddRow()
                    .Primarykey = -1 '主键为-1时
                    .Attribute = "style='background-color:#FFFFE0;font-weight:bold'"
                    .AddCell(m & "月" & "小计:")
                    .AddCells(Totalfee,Tyuncunfee,Tshouxufee,Tofflinefee,Ttixianfee)
                End With
    'Totalfee  = dt.compute("sum(总费用)")
    'Tyuncunfee = dt.compute("sum(预存扣)")
    'If EndRow >= Count Then
        '.Body.AddRow("总计","","",Totalfee,"",Tyuncunfee,"").Attribute = "style='background-color:#98FB98';font-weight:bold;"
    'End If

End With

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