65.9K
CodeProject 正在变化。 阅读更多。
Home

将数据从 MSFlexGrid 传输到图表

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (2投票s)

2008 年 5 月 30 日

CPOL

2分钟阅读

viewsIcon

46575

downloadIcon

1609

将 MSFlexGrid 的一行数字数据显示为图表

FlexToGraph

引言

我之前写过一篇关于 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)。

此窗体具有

  • 从数据库文件加载数据的按钮
  • 绘制图表的按钮
  • 添加记录的按钮
  • 删除记录的按钮
  • 更新(保存记录)的按钮
  • 取消更新的按钮
  • 四个用于 MoveFirstMoveLastMoveNextMovePrevious 的按钮
  • 退出按钮

最后的话

我希望这篇文章有用,并能帮助您在应用程序中绘制一些数据。如果您有任何想法或发现任何问题,请告诉我。感谢 CodeProject,感谢大家。

历史

  • 2008 年 5 月 30 日:初始发布

Mostafa Kaisoun
M_Kaisoun@hotmail.com

© . All rights reserved.