Foxtable(狐表)用户栏目专家坐堂 → 用代码筛选 再用筛选后的数据生成统计表


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

主题:用代码筛选 再用筛选后的数据生成统计表

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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
用代码筛选 再用筛选后的数据生成统计表  发帖心情 Post By:2016/8/16 17:12:00 [只看该作者]

我设置了一个筛选的窗口和一个形成统计表的窗口,希望用筛选窗口筛选出有用的数据,再用统计表的窗口把筛选后的数据生成统计表,可是统计表里的按钮每次都是统计未筛选前的数据,比如“地区统计”的代码如下:

        Dim g As New GroupTableBuilder("地区统计表", DataTables("T37"))
        g.Groups.AddDef("F5394")
        g.Totals.AddDef("T37CT", AggregateEnum.Count, "投诉次数")
        g.SubTotal = True
        g.GrandProportion = True
        g.FromServer = False
        g.Build()
        MainTable = Tables("地区统计表")
       
        Dim Chart As WinForm.Chart '定义一个图表变量
        Dim Series As WinForm.ChartSeries '定义一个图系变量
        Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
        Chart.DataSource = "地区统计表" '设置绑定表
        Chart.SeriesList.Clear() '清除图表原来的图系
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.X.DataField = "F5394" 'X轴绑定到产品列
        Series.Y.DataField = "投诉次数" 'Y轴绑定到数量列
       
        Chart.ChartType = ChartTypeEnum.Bar  '图表类型改为Bar(条形)
        Chart.AxisY.Min = 0
        Chart.LegendVisible=False '不显示图例
        Chart.AxisX.AnnoWithLabels = True '启用字符标示
        Chart.BarClusterWidth = 50  '图宽占百分之50
        Series.DataLabelText = "{#YVAL}"
        Chart.HeaderText="投诉地区统计图"
        Chart.AxisX.Text="热源厂" '设置x轴标题
        Chart.AxisY.text="投诉次数" '设置Y轴标题
        Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
该怎么修改,求助。


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

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

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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
  发帖心情 Post By:2016/8/16 17:28:00 [只看该作者]

我在代码里加上下面那一段也提示出错:

Dim a As WinForm.DateTimePicker = Forms("筛选").Controls("StartDate")
Dim b As WinForm.DateTimePicker = Forms("筛选").Controls("EndDate")
g.Filter =" [T37CT] > a  And  [T37CT] < b "

 


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

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/16 17:28:00 [只看该作者]

重新生成表,设置好筛选条件

 

        Dim g As New GroupTableBuilder("地区统计表", DataTables("T37"))
        g.Groups.AddDef("F5394")
        g.Totals.AddDef("T37CT", AggregateEnum.Count, "投诉次数")
        g.SubTotal = True
        g.GrandProportion = True
        g.FromServer = False

        g.Filter = "设置的条件"
        g.Build()
        MainTable = Tables("地区统计表")


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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
  发帖心情 Post By:2016/8/16 17:58:00 [只看该作者]

我的意思是想让操作的人自己筛选   你说的那个代码应该是固定筛选的吧

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/16 18:00:00 [只看该作者]

 如果要控制,就不能用绑定,必须单独赋值,参考方法二

 

http://www.foxtable.com/webhelp/scr/0968.htm

 


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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
  发帖心情 Post By:2016/8/16 18:05:00 [只看该作者]

这个是说生成图表的方法   我是要用筛选后的数据生成临时的分组统计或交叉统计

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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
  发帖心情 Post By:2016/8/16 18:09:00 [只看该作者]

之前截图把表截漏了  只要能生成临时的统计表是用筛选后的数据的就行

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/16 18:12:00 [只看该作者]

 不会做,上传实例

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


加好友 发短信
等级:婴狐 帖子:68 积分:527 威望:0 精华:0 注册:2016/7/15 23:57:00
  发帖心情 Post By:2016/8/16 18:18:00 [只看该作者]

问题解决了  嘻嘻  麻烦了  只是一横代码的问题

g.Filter= Tables("T37").Filter  


 回到顶部