Foxtable(狐表)用户栏目专家坐堂 → 想做一个pie图标,想直接通过代码而非统计表生成统计图怎么办


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

主题:想做一个pie图标,想直接通过代码而非统计表生成统计图怎么办

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 16:02:00 [显示全部帖子]

 1、先生成统计表;

 

 2、再根据统计表生成图

 

不会做,就上传例子


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 16:20:00 [显示全部帖子]

以下是引用nclo在2014-12-4 16:09:00的发言:
甜老师,帮助文档里不是说可以不做统计表,直接用代码生成吗?

 

最后生成前都是需要先生成统计表,这样取数据方便。

 

你不会做就上传例子吧


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/7 22:46:00 [显示全部帖子]

Dim filter As String = "1=1"
Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
If cbx.Text <> "全市" Then
    filter &= " and 第1列 = '" & cbx.Text & "'"
End If

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim dt As DataTable = DataTables("表A") '定义一个变量t引用数据表
Dim sm As Integer = dt.Compute("count(_Identify)", filter) '计算总数量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
chart.SeriesList.Clear
For Each lb As String In dt.GetValues("第2列", filter)
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Dim temp As Integer = dt.Compute("count(_Identify)", filter & " and 第2列 = '" & lb & "'") '计算总数量
    Series.Text = lb & "(" & temp & ")" '设置图系的标题
    Series.Y(0) = temp '指定值
    Series.DataLabelText = Math.Round(temp*100/sm,2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)


 回到顶部