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 '图列显示在东方(右方)