无法绑定的情况

假定有下图所示的数据表:

希望生成下面的图表:

 

显然我们无法使用绑定列的方法,只能手工编码增加数据点,不过代码也很简单:

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Chart
= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart
.SeriesList.Clear() '清除图表原来的图系
For
Each Year As String In DataTables("统计表1").GetValues("年")
    Series = Chart.SeriesList.Add() '每年一个图系
    Series.Text = Year  '指定图系名称为年份
    Series.Length = 12  '指定图系的数据点数,1年12个月
    Chart.AxisX.Min = 1  '指定X轴的最小值,也就是从1月开始
    Chart.AxisX.Max = 12 ''指定X轴的最大值,一年只有12个月
    For Month As Integer = 1 To 12 '逐月设置坐标
        Series.X(Month-1) = Month      '指定水平坐标为月份
        Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And  月 = " & Month)'找出对应年月的行
        If r IsNot Nothing '如果找到对应年月的行
            Series.Y(Month-1) = r("数量") '指定数量作为垂直坐标
        End If
    Next

Next

可以看到,只要将基础知识掌握,不管需求如何变化,都是万变不离其宗,都能轻松应对。


本页地址:http://www.foxtable.com/webhelp/topics/2966.htm