此主题相关图片如下:2.png
源码:
Dim b As New GroupTableBuilder("统计表1",DataTables("person"))
Dim t As DataTable
b.Groups.AddDef("retiredPost","职务") '根据产品分组
b.Totals.AddDef("retiredPost",AggregateEnum.Count,"人数")
t=b.Build(True) '生成统计表
'MainTable = Tables("统计表1") '打开生成的统计表
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As DataTable = t '定义一个变量t引用数据表
Dim sm As Integer = t1.Compute("Sum(人数)") '计算总数量
Chart= Forms("主窗口").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
For Each r As DataRow In t1.dataRows
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = 1 '一个系列只能包括一个值
Series.Text = r("职务") & "(" & r("人数") & ")" '设置图系的标题
Series.Y(0) = r("人数") '指定值
Series.DataLabelText = Math.Round(r("人数")*100/sm,2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
好像人数调用那里有问题, 因为我看临时表中的数据时没问题的