中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
在ASP.net中使用OWC绘制统计图表
作者:傅胜 时间:2006-09-30 13:28 出处:ccidnet.com 责编:月夜寒箫
              摘要:在ASP.net中使用OWC绘制统计图表
在使用ASP.net进行Web开发中,经常需要将各种统计数据以图形的方式显示出来。如果仅仅是柱状图,可以采用画表格或者将某种特定颜色的GIF图像缩放宽度和高度的方法来表示,许多投票程序多采用这种方法。但如果要求输出结果是饼状图或者是连续的波形图,就有些困难了。本文特向大家介绍使用OWC图形组件轻松实现绘制统计图表的方法。

  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"

  效果图如下图一(img1.gif)所示:

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

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered

  则统计图例变成下面图二(img2.gif)的样子:

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

 

  点击此处:源程序下载

  

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有