Foxtable(狐表)用户栏目专家坐堂 → 请教关于生成图表的代码


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

主题:请教关于生成图表的代码

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


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
请教关于生成图表的代码  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
  发帖心情 Post By:2013/3/20 14:43:00 [显示全部帖子]

感谢您的指导,
问题已经解决, 请问如何清空图表的数据,

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


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
  发帖心情 Post By:2013/3/20 14:56:00 [显示全部帖子]

就是说,当生成图表后,图表就会有数值和图形存在,而当再次选择其它表其它列的值时候,图表仍然是以存在之前的统计.而不是全新的统计;
所以,好像是需要先将已经生成的图表的数据清除,再根据最后给的值进行统计.

 回到顶部