请大家介绍一个功能强大的,易用的图表(柱形图,线形图等)的控件? owc不行吗,哥们 不过teechar 我没有找到asp.net 版本的,这个用不错的,, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 office 的 owc 控件就很好做添加引用=〉com=>microsoft office web compenonts wizard 具体的例子:在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环境下运行成功。 http://xml.sz.luohuedu.net/xml/ 这里也有 owcwww.ourfly.com有很多演示的例子 owc好像做点复杂的,样式也不好看. 问个问题 高分求解 gridview + detailsview 联动的问题 经典问题!征集asp.net区datagrid模板列固定列宽度最佳解决方案! 证书信任列表 关于的优酷引用记录 编译*.vb到*.dll时出错了 正则表达式替换问题 如何实现类似阿里妈妈投放广告功能 处理page_load,page_error等event 我的datalist的 RepeatColumns="2"如何能让每列的上下行之间紧凑一些,不是两列的相对应的行都是对齐的,100分请进! 我觉得codebehind和用户控件简直就是重复!!
在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环境下运行成功。 http://xml.sz.luohuedu.net/xml/ 这里也有
www.ourfly.com有很多演示的例子