以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于窗口图表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=67616)

--  作者:老奤
--  发布时间:2015/4/27 16:52:00
--  [求助]关于窗口图表的问题
表 十二组
第一列  [产权人]   (字符列都是姓名)   若干个分属于各居民组
第二列 [居民组]   (第一小组   至  第十小组)
第三列[协议日期]  (办理手续的时间)  办理手续时就填写当天日期,没办手续时就是空的

窗口中两个图表,一个是各居民组 总人数 和办理手续 总人数 示意图  这个用分组统计然后用图表代码可以生成,但是分组统计是临时表,没有开启时图表就没有怎么办?
Dim g As New GroupTableBuilder("走户进度表", DataTables("十二组"))
g.Caption = "走户进度表"
g.Groups.AddDef("居民组", "居民小组")
g.Totals.AddDef("居民组", AggregateEnum.Count, "总户数")
g.Totals.AddDef("协议日期", AggregateEnum.Count, "走户数")
g.Build()
MainTable = Tables("走户进度表")

分组统计的代码

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形)
Chart.DataSource = "走户进度表" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加第一个图系
Series.Text = "契证总数"
Series.X.DataField = "居民小组" \'X轴绑定到产品列
Series.Y.DataField = "总户数" \'Y轴绑定到数量列
Series = Chart.SeriesList.Add() \'增加第二个图系
Series.Text = "走户总数"
Series.X.DataField = "居民小组" \'X轴绑定到产品列
Series.Y.DataField = "走户数" \'Y轴绑定到数量列
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

窗口图表的代码

有别的思路吗?


第二个图标,要求做一个办理手续的日线图,也就是不分小组,只要显示出每个协议日期对应的填写协议日期的个数就可以,求思路?


--  作者:Bin
--  发布时间:2015/4/27 16:55:00
--  
生成代码前面加入判断 

if DataTables.Contains("走户进度表")=false then  \'不存在这个表
     \'生成表代码放进来.先生成表再生成图表
end if

--  作者:老奤
--  发布时间:2015/4/27 17:17:00
--  
是这样吗?这样运行就直接到表的界面了,而不是在窗口

If DataTables.Contains("走户进度表") = False Then  \'不存在这个表  
Dim g As New GroupTableBuilder("走户进度表", DataTables("十二组"))
g.Caption = "走户进度表"
g.Groups.AddDef("居民组", "居民小组")
g.Totals.AddDef("居民组", AggregateEnum.Count, "总户数")
g.Totals.AddDef("协议日期", AggregateEnum.Count, "走户数")
g.Build()
MainTable = Tables("走户进度表")   \'生成表再生成图表
End If
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形)
Chart.DataSource = "走户进度表" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加第一个图系
Series.Text = "契证总数"
Series.X.DataField = "居民小组" \'X轴绑定到产品列
Series.Y.DataField = "总户数" \'Y轴绑定到数量列
Series = Chart.SeriesList.Add() \'增加第二个图系
Series.Text = "走户总数"
Series.X.DataField = "居民小组" \'X轴绑定到产品列
Series.Y.DataField = "走户数" \'Y轴绑定到数量列
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

--  作者:Bin
--  发布时间:2015/4/27 17:19:00
--  
MainTable = Tables("走户进度表")   \'生成表再生成图表  这行代码去掉
--  作者:老奤
--  发布时间:2015/4/27 17:21:00
--  
嗨,低级错误,明白了。谢谢老师。