您所在的位置: 首页>>开发>>.Net>>

在ASP.net中使用OWC绘制统计图表

  • 摘要:OWC(Microsoft Office Web Components)是Microsoft Office使用的数据绑定ActiveX控件,用于向Web页添加图表功能。OWC能将处理结果做为标准GIF输出并下载到浏览器中显示。
  • 标签:ASP.net  OWC  Web

OWC(Microsoft Office Web Components)是Microsoft Office使用的数据绑定ActiveX控件,用于向Web页添加图表功能。OWC支持Microsoft Excel 2000中大部分的二维图表(如折线图、柱形图、股价图等)和极坐标图表(如饼图和雷达图),并支持组合图表,如两轴线-柱图,数据表会随同图表发布,图表随着数据的变化而改变。OWC能将处理结果做为标准GIF输出并下载到浏览器中显示。

首先,使用ADODB.Recordset读出数据集合,并与OWC组件进行数据绑定:

Dim owcChartSpace As OWC.ChartSpace = New OWC.ChartSpace()   
Dim owcChart As OWC.WCChart = owcChartSpace.Charts.Add   
Dim ConnADO As New ADODB.Connection()   
Dim RecordsetADO As New ADODB.Recordset()   
Dim connectionString As String   
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _   
"Data Source=" & Server.MapPath("Grades.mdb")   
ConnADO.Open(connectionString)   
RecordsetADO.ActiveConnection = ConnADO   
RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic   
RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient   
Dim strSQL As String   
strSQL = "Select city, month, temperature From test order by city,ids"   
RecordsetADO.Open(strSQL, ConnADO)   
owcChartSpace.DataSource = RecordsetADO

然后,指定OWC的显示类型:

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers

在运行时向OWC中输入数据有多种方法。所有这些方法都要用到SetData方法来真正将数据写入Chart组件,因此将详细介绍此方法。SetData 方法应用于WCChart、WCErrorBars和 WCSeries对象并能向这三种对象输入数据。

SetData 方法有三个参数:Dimension、DataSourceIndex和 DataReference。Dimension 参数引用图表中被填充数据的一部分。可用的维度常数为SeriesNames、Categories、Values、YValues、XValues、OpenValues、CloseValues、HighValues、LowValues、BubbleValues、RValues 和 ThetaValues。这些常数每一种都引用了图表的一部分;例如,SeriesNames常数引用了每个序列名,OpenValues和 CloseValues常数引用股票图的开盘价和收盘价等等。每个常数都是作为诸如chDimSeriesNames、chDimCategories、chDimValues等窗体中的枚举常数而传递给该方法的。

这里,我们使用SetData方法给OWC赋值:

owcChart.SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 0, "city")  
Dim owcSeries As OWC.WCSeries   
For Each owcSeries In owcChart.SeriesCollection   
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, "month")   
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, "temperature")   
Next

最后,将OWC处理结果转换成Gif图象输出到浏览器中显示:

Randomize()   
Dim nfilenameSuffix As Integer   
Dim sfilenamesuffix As String   
nfilenameSuffix = 100000 * Rnd()   
sfilenamesuffix = System.Convert.ToString(nfilenameSuffix)   
owcChartSpace.ExportPicture(MapPath("owc/price_")

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)


企业级Web2.0 你准备好了么?
WebSphere 实现SOA的利器
Web安全云时代
企业Web安全威胁在线评估系统
专题:ASP.NET 2.0基础开发指南
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有