将数据从 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


