以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何通过编写代码实现表中的数据修改时,生成的图表自动更新?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139765)

--  作者:foxtable_New
--  发布时间:2019/8/21 8:33:00
--  [求助]如何通过编写代码实现表中的数据修改时,生成的图表自动更新?
专家好,在学习图表时遇到点问题, 用编码生成的图表,当修改表中的数据时,图表不会自动更新,用绑定法生成的图表如果你修改表中的数据,生成的图表会立即自动更新。如何实现用编码生成的图表,当修改表中的数据时,图表也能自动更新。

方法一

编码增加图系和数据点。
新建一个窗口,在窗口中分别插入一个图表和一个按钮,将按钮的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


方法二

将图表绑定到数据表。
将按钮的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轴绑定到数量列



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

如何在方法一中通过编码实现,修改表中数据时,生成的图表会立即自动更新?


--  作者:y2287958
--  发布时间:2019/8/21 8:39:00
--  
数据改变后用代码执行一下按钮的代码即可
--  作者:有点蓝
--  发布时间:2019/8/21 9:01:00
--  
表格datacolchanged事件,调用按钮的click事件重新生成图表:http://www.foxtable.com/webhelp/topics/2309.htm