程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在ASP.net中使用OWC繪制統計圖表

在ASP.net中使用OWC繪制統計圖表

編輯:關於ASP.NET

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved