Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:GroupTableBuilder

1楼
狐哥 发表于:2009/6/29 10:29:00
Select Case e.Node.Level
    case 0
        e.form.Controls("TabControl2").SelectedIndex = 0
        Dim g As New GroupTableBuilder("利润统计", DataTables("业务录入"))
        g.Groups.AddDef("月")
        g.Totals.AddDef("利润")
        g.Filter = "[年] = '" & Value(0) & "'"      '这个显示下图错误,是不是公式有错?
        g.VerticalTotal = True
        g.Decimals = 2    '小数位数是不是这样设置的?
        g.FromServer = True
        dst.DataTable = g.build(true)
        dst.Build()
        dst.AlterBackColor = Color.LightSkyBlue
        lbl.Text = value(0) & "年 " & "利润表"


图片点击可在新窗口打开查看此主题相关图片如下:g.jpg
图片点击可在新窗口打开查看
2楼
狐狸爸爸 发表于:2009/6/29 10:47:00
1、小数位数就是这么设置. 2、有一个bug,导致直接统计后台数据无法设置条件,已经处理好了,下次更新不会有这个问题
3楼
狐哥 发表于:2009/6/29 10:51:00
感谢
但小数位数还是有问题.
4楼
狐狸爸爸 发表于:2009/6/29 11:06:00
有啥问题?
5楼
狐哥 发表于:2009/6/29 11:14:00

公式改成如下:

    case 0
        e.form.Controls("TabControl2").SelectedIndex = 0
        Dim g As New GroupTableBuilder("利润统计", DataTables("业务录入"))
        g.Groups.AddDef("日期",DateGroupEnum.year,"年份")
        g.Groups.AddDef("日期","月份")
        g.Totals.AddDef("利润")
        g.VerticalTotal = True
        g.Decimals = 2
        g.FromServer = True
        dst.DataTable = g.build(true)
        dst.Build()
        dst.AlterBackColor = Color.LightSkyBlue
        lbl.Text = value(0) & "年 " & "利润表"

改好后点统计,图片如下:


此主题相关图片如下:1.jpg
按此在新窗口浏览图片

点其它节点后再次回来此节点,图片又如下,统计列 年份与月份不见了


此主题相关图片如下:2.jpg
按此在新窗口浏览图片


小数点仍没有按二位来显示.

第二个节点公式:(以前都是用SQL语句来统计的:)
e.form.Controls("TabControl2").SelectedIndex = 0
        cmd.CommandText = "SELECT 月,Round(sum(利润),2) as 利润 From {业务录入} WHERE 年 = '" & Value(0) & "'and 业务组 = '" & Value(1) & "' group by 月"
        dst.DataTable = cmd.ExecuteReader()
        dst.ColumnList = "月|利润"
        dst.Build()
        dst.AlterBackColor = Color.LightSkyBlue
        dst.SetColWidth("月",40)
        dst.SetColWidth("利润",100)
        dst.GrandTotal(AggregateEnum.Sum,"总计", "利润")
        lbl.Text = value(0) & "年 " & value(1) & " 组利润表"
[此贴子已经被作者于2009-6-29 11:17:21编辑过]
6楼
狐狸爸爸 发表于:2009/6/29 11:16:00
收到,小数位数只注意计算平均值了,没考虑累积值。
下次不会有这个问题了。
7楼
狐哥 发表于:2009/6/29 11:19:00
非常感谢!
分组列有可能与节点二公式有关,下次升级再改为新的统计公式再试试看吧.
8楼
blackzhu 发表于:2009/6/29 12:11:00
以下是引用狐狸爸爸在2009-6-29 11:16:00的发言:
收到,小数位数只注意计算平均值了,没考虑累积值。
下次不会有这个问题了。

我也有这个问题,原来我的窗口显示的只有两位小数,现在已经估计十位了.因为报表我控制在两位,所以懒得理.

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.