将数据从 MSFlexGrid 传输到图表






4.50/5 (2投票s)
将 MSFlexGrid 的一行数字数据显示为图表

引言
我之前写过一篇关于 ActiveX 控件 (FDGrid
) 的文章,允许将 FlexGrid
控件作为 DataGrid
控件。要查看此 ActiveX 及其应用程序,请点击这里。
现在我创建一个新的 AciveX 控件 (MKGraph
) 来将数据从 FlexGrid
传输到图表
- 连接数据库
- 使用表格填充
FlexGrid
- 添加或编辑记录
- 选择数值列
- 选择图表类型
- 编辑标题和图例
- 点击生成图表
- 保存图表
- 复制图表
背景
当使用我的 ActiveX 控件 (MKGraph
) 时,您必须从数据库文件加载网格数据,请参阅窗体 (frmMain
) 中的代码。我的 ActiveX 的一些属性和方法如下表所示
方法/属性 | 定义 | 示例 |
DatabaseName |
设置数据库名称 | MKGraph1.DatabaseName = FileName |
DataSource |
设置要网格化的Recordset |
MKGraph1.DataSource = rs |
AddNewRow |
向网格添加新记录 | MKGraph1.AddNewRow |
DeleteRow |
删除记录 | MKGraph1.DeleteRow |
更新 |
添加后保存记录 | MKGraph1.Update |
CancelUpdate |
取消更新 | MKGraph1.CancelUpdate |
MoveFirst |
移动到第一条记录 | MKGraph1.MoveFirst |
MoveLast |
移动到最后一条记录 | MKGraph1.MoveLast |
MoveNext |
移动到下一条记录 | MKGraph1.MoveNext |
MovePrevious |
移动到上一条记录 | MKGraph1.MovePrevious |
DataToGraph |
告诉 ActiveX 要绘制哪些列 | MKGraph1.DataToGraph |
DrawGraph |
开始绘制图表(三个步骤) | MKGraph1.DrawGraph |
要使用我的 ActiveX (MKGraph
),您必须仅从文件中添加一个文件:“Microsoft DAO 3.51 (或 3.6) 对象库”到引用,并将 (MKGraph
) 控件添加到工具箱。
Using the Code
LoadData()
过程
Dim MyDataFile As String
Dim MyDb As Database
Dim MySql As String
MyDataFile = App.Path + "\DataFile\" + "Sale.mdb"
Set MyDb = OpenDatabase(MyDataFile, False, False, ";pwd=" & "")
MySql = "SELECT * FROM Products Order by ProductID"
MKGraph1.DatabaseName = MyDataFile
MKGraph1.RecordSource = MySql
MKGraph1.RecordsetType = vbRSTypeDynaset
MKGraph1.Refresh
cmdLoad_Click()
过程
'Call LoadData procedure
LoadData
cmdAdd_Click()
过程
' add new record to data base file
FDGrid1.AddNewRow
cmdCancel_Click()
过程
' don't save record
FDGrid1.AddNewRow
cmdDelete_Click()
过程
' delete record from data base file
FDGrid1.DeleteRow
cmdUpdate_Click()
过程
' save record to data base file
FDGrid1.Update
cmdDraw_Click()
过程
' Tell ActiveX control which data to draw
MKGraph1.DataToGraph
' Begin to graph: choose type of graph, edit title and legend, view graph.
MKGraph1.DrawGraph
当您点击 cmdDraw
按钮时,ActiveX 控件将通过三个步骤绘制图表
- 选择图表类型(当您看到标题为“图表类型”的窗体时:点击任何图表类型)。
- 编辑图表的标题和图例(当您看到标题为“图表数据”的窗体时)。
- 绘制图表(现在您可以在最终窗体上看到您的图表)。
备注
当解压文件 FlexToGraph.zip 时,您可以在文件夹ActiveXcontrol 中找到文件 MKGraph.ocx。
在 DataFile 文件夹中找到数据库文件 Sale.mdb。
在文件夹 FlexToGraph 中找到项目 prjFlexGraph
(用于测试 ActiveX 控件)。
此项目只有一个窗体 (Form1
)。
此窗体具有
- 从数据库文件加载数据的按钮
- 绘制图表的按钮
- 添加记录的按钮
- 删除记录的按钮
- 更新(保存记录)的按钮
- 取消更新的按钮
- 四个用于
MoveFirst
、MoveLast
、MoveNext
和MovePrevious
的按钮 - 退出按钮
最后的话
我希望这篇文章有用,并能帮助您在应用程序中绘制一些数据。如果您有任何想法或发现任何问题,请告诉我。感谢 CodeProject,感谢大家。
历史
- 2008 年 5 月 30 日:初始发布
Mostafa Kaisoun
M_Kaisoun@hotmail.com