以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用代码筛选 再用筛选后的数据生成统计表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89175)

--  作者:哎you
--  发布时间: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
--  发布时间: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
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间: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
--  发布时间:2016/8/16 17:58:00
--  
我的意思是想让操作的人自己筛选   你说的那个代码应该是固定筛选的吧
--  作者:大红袍
--  发布时间:2016/8/16 18:00:00
--  

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

 

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

 


--  作者:哎you
--  发布时间:2016/8/16 18:05:00
--  
这个是说生成图表的方法   我是要用筛选后的数据生成临时的分组统计或交叉统计
--  作者:哎you
--  发布时间:2016/8/16 18:09:00
--  
之前截图把表截漏了  只要能生成临时的统计表是用筛选后的数据的就行
--  作者:大红袍
--  发布时间:2016/8/16 18:12:00
--  
 不会做,上传实例
--  作者:哎you
--  发布时间:2016/8/16 18:18:00
--  

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

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