« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
我不去想是否能够成功,既然选择了远方,便只能风雨兼程; 我不去想,身后会不会袭来寒风冷雨,既然目标是地平线,留给世界的只能是背影!人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,爱就爱得轰轰烈烈,狠就狠的刻骨铭心! |
Blog信息 |
blog名称:Rabbit's Blog--我的blog我做主 日志总数:52 评论数量:41 留言数量:-10 访问次数:237413 建立时间:2005年12月7日 |

| |
在ASP.net中使用OWC绘制统计图表 网上资源, 软件技术
开心兔子 发表于 2006/7/11 17:12:07 |
在使用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.AddDim ConnADO As New ADODB.Connection()Dim RecordsetADO As New ADODB.Recordset()Dim connectionString As StringconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=" & Server.MapPath("Grades.mdb")ConnADO.Open(connectionString)
RecordsetADO.ActiveConnection = ConnADORecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStaticRecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClientDim strSQL As StringstrSQL = "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.WCSeriesFor Each owcSeries In owcChart.SeriesCollectionowcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, "month")owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, "temperature")Next
最后,将OWC处理结果转换成Gif图象输出到浏览器中显示:
Randomize()Dim nfilenameSuffix As IntegerDim sfilenamesuffix As StringnfilenameSuffix = 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环境下运行成功。 |
|
|