动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   .Net → 阅读文章

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

作者来源: 
阅读 数 301 人次 , 2006-4-26 10:02:00 

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_")

+ sfilenamesuffix + ".gif", "gif", 800, 600)

Image1.ImageUrl = "owc/price_" + sfilenamesuffix + ".gif"

如果变换OWC的显示类型,即修改一下owcChart.Type,使之变成:

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered

在ASP.net中使用OWC可以帮助我们快速构造统计图表,而且由于OWC生成的结果是Gif图象,可以兼容客户端所有版本的浏览器,适用范围很广。本程序在Windows 2000 server、IIS5.0和IE6.0环境下运行成功。

  
 本文TagsC#  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:ASP.NET 2.0无刷新页面新境界
· 下一篇:ASP.NET中Web DataGrid的使用指南
· ASP.NET四种页面导航方式的比较与选择
· SQL存储过程在.NET数据库中的应用
· ASP.NET中在线用户统计
· 创建完全可编辑的 DataGrid
· ASP.NET 打造互联网未来空间站(1)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077