以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教关于生成图表的代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30074)

--  作者:kevin
--  发布时间:2013/3/20 14:22:00
--  请教关于生成图表的代码

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

如上图,我希望能够动态的根据 ComboBox控件所指的表名及列名生成图表;请问如何修改.
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim
Series As WinForm.ChartSeries \'定义一个图系变量
Dim
t As Table = Tables("各类绿地指标") \'定义一个变量t引用数据表    ----根据 ComboBox1提供表名
Dim
sm As Integer = t.Compute("Sum(数量)") \'计算总数量         ----根据 ComboBox2提供列名 
Chart
= Forms("窗口1").Controls("Chart1") \' 引用窗口中的图表
Chart
.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart
.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形)
For
Each r As Row In t.Rows
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = 1 \'一个系列只能包括一个值
Series.Text = r("产品") & "(" & r("数量") & ")" \'设置图系的标题   
----根据 ComboBox2, ComboBox3 提供列名  
Series.Y(0) = r("数量") \'指定值
Series.DataLabelText = Math.Round(r("数量")*100/sm,2) & "%" \'计算百分比  
----根据 ComboBox3提供列名  
Next

Chart
.LegendVisible = True \'显示图列
Chart
.LegendCompass= CompassEnum.East \'图列显示在东方(右方)

我不知道如何定义这三个控件并且用到代码中,请高手帮忙!
[此贴子已经被作者于2013-3-20 14:22:30编辑过]

--  作者:kevin
--  发布时间:2013/3/20 14:43:00
--  
感谢您的指导,
问题已经解决, 请问如何清空图表的数据,

--  作者:kevin
--  发布时间:2013/3/20 14:56:00
--  
就是说,当生成图表后,图表就会有数值和图形存在,而当再次选择其它表其它列的值时候,图表仍然是以存在之前的统计.而不是全新的统计;
所以,好像是需要先将已经生成的图表的数据清除,再根据最后给的值进行统计.