绑定到表

实际应用的时候,图示的数据往往直接来自于数据表,例如对于下面这个表,如何来图示呢。

方法有两种,一种是编码增加图系和数据点,另一种是绑定。
同样在窗口分别中插入一个图表和一个按钮,将按钮的Click事件代码设置为示例代码。
接下来所有生成图表的示例代码,测试方法都一样,就不再重复提示了。

方法一

编码增加图系和数据点。
新建一个窗口,在窗口中分别插入一个图表和一个按钮,将按钮的Click事件代码设置为:

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Dim
t As Table = Tables("统计表1") '定义一个变量t引用数据表
Chart= e.Form.Controls(
"Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear()
'清除图表原来的图系
Series = Chart.SeriesList.Add()
'增加一个图系
Series.Length = t.Rows.Count
'图系的数据点数等于表的行数
For
i As integer = 0 to t.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = t.Rows(i)(
"月份") '指定水平坐标
    Series.Y(i) = t.Rows(i)(
"数量") '指定垂直坐标
Next

这是生成的图表:

我在编写上面这段代码的时候,栽了一个小跟斗,运行的时候提示"月份"列不属于"统计表1",原来这个表是通过分组统计得到的,标题和列名有的时候并不会一致。

方法二

将图表绑定到数据表。
将按钮的Click事件代码设置为:

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.DataSource =
"统计表1" '设置绑定表
Chart.SeriesList.Clear()
'清除图表原来的图系
Series = Chart.SeriesList.Add()
'增加一个图系
Series.X.DataField =
"月份" 'X轴绑定到月份列
Series.Y.DataField =
"数量" 'Y轴绑定到数量列

执行效果和方法一完全一样,但是如果你修改表中的数据,生成的图表会立即自动更新,而方法一不会。


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