成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > ASP.NET中實時圖表的實現方法分享

ASP.NET中實時圖表的實現方法分享

熱門標簽:外呼系統代理品牌 寧波自動外呼系統代理 怎么給超市做地圖標注入駐店 巫師3為什么地圖標注的財寶沒有 手機地圖標注如何刪除 外呼系統費用一年 十堰正規(guī)電銷機器人系統 世紀佳緣地圖標注怎么去掉 辦理400電話證件

 在對大批量的數據進行分析比較時,最常用也是最直觀明了的表現方法莫過于繪制趨勢圖表。一般情況下,我們利用EXCEL制作各種類型的趨勢圖表,但它們都是基于靜態(tài)數據的,即數據是事先整理好的而不 是動態(tài)生成的。如果在網上發(fā)布,只能將繪制好的圖表以靜態(tài)GIF圖像發(fā)布,這無法從根本上滿足不同用戶對不同數據的需求。
ASP擅長服務器端的Web編程,操作后臺數據庫更是它的強項。但是用ASP制作實時數據庫圖表有點困難,因為ASP本身并不支持圖表功能,只能借助第三方控件進行開發(fā),如VB的MSChart控件。微軟推出的.NET Framework較好地解決了這個問題。微軟在.NET平臺上集成了實時數據庫圖表制作組件—OWC(Microsoft Office Web Components)。通過在ASP.NET頁面中調用OWC,我們可以輕松地繪制出各種類型的實時圖表。OWC支持近50種圖表類型,包括曲線圖、折線圖、柱狀圖、面積圖、K線圖等。與MSChart相比,OWC功能強大,操作簡單。此外,由于OWC是基于服務端的,而MSChart只能應用在客戶端,因此在服務器端的Web開發(fā)中,MSChart要比OWC遜色不少。

下面筆者將結合實例來具體闡述OWC在ASP.NET頁面中的應用,這個實例是筆者開發(fā)的項目《化纖產品及其原料市場分析系統》中的一個子系統,筆者在該項目中用到OWC,充分享受到了OWC的強大功能給開發(fā)工作帶來的方便。

三層結構

系統整體架構采用了B/S三層結構模式,將系統分為用戶界面層(也稱為表現層)、業(yè)務邏輯層(也稱為功能層)和數據庫服務層(也稱為數據層),開發(fā)平臺則采用了.NET Framework,有效地降低了系統對客戶機的要求,避免了在客戶機上分發(fā)應用程序與版本控制的困難。

● 用戶界面層: 用戶界面采用的是ASP.NET技術。ASP.NET技術的應用增強了系統的通用性,客戶端只需安裝IE或Netscape等任一款瀏覽器,無需加載任何組件。

● 業(yè)務邏輯層: 采用了.NET Framework調用OWC的技術,能夠根據用戶的要求快速取得數據庫中的數據動態(tài)生成圖表。系統能夠支持復雜的檢索條件,檢索速度快,響應時間短。

● 數據庫服務層:數據庫服務層可采用任何一款關系型數據庫。在本項目中,筆者使用的是SQL Server,它能與.NET Framework無縫集成。數據庫存取技術則采用了ADO.NET。

下文我們將著重介紹業(yè)務邏輯層的實現方法。

圖表元素簡介

一張完整的圖表由若干個元素組成,我們必須對它們有所了解,才能隨心所欲、充分自如地對圖表進行全方位的控制,也才能更好地理解本程序。筆者制作了一張簡易的圖表,在圖中標注了程序涉及到的主要部位和元素的名稱,借此幫助讀者掌握OWC以及理解本文所引用的代碼。

使用OWC組件

在這一節(jié)里所涉及的源代碼摘自于《化纖產品及其原料市場分析系統》,該系統在Window 2000/XP簡體中文專業(yè)版、.NET Framewrok 1 .0環(huán)境下通過。使用OWC組件的步驟如下:

1. 在當前目錄中新建一個存放圖表文件的子目錄chart,同時把對該目錄的“修改”權限賦予ASP.NET賬戶。具體步驟如下:用鼠標右鍵單擊chart目錄名,選擇“屬性”菜單項,在彈出的“Chart”屬性對話框中單擊“安全”選項卡,再單擊“添加”按鈕,找到ASP.NET賬戶,賦予“修改”權限,單擊“確定”按鈕結束。這樣,ASP.NET就可以在chart目錄中寫入圖表文件了。

2. 定義一個服務器端的Image圖像控件,該圖像的屬性imageURL將在程序末尾被指向動態(tài)生成的圖表文件,因此在這里無需為它賦值。

復制代碼 代碼如下:

asp:image id=“imgChart” Width=“500” Height=“300” Visible=“False” Runat=“server”> /asp:image>

3. 添加OWC引用。

在使用OWC之前,首先必須將OWC的引用加入到“解決方案資源管理器”中。具體步驟如下:打開“解決方案資源管理器”面板,鼠標右鍵單擊“引用”,選擇“添加引用”菜單,在彈出的“添加引用”對話框中單擊“COM”卡片,找到“Microsoft Office Web Components 9.0”,單擊“選擇”和“確定”按鈕,OWC就被添加到了引用中。

4. 定義OWC空間,并在該空間中加入一個OWC圖表owcChart。

復制代碼 代碼如下:

Dim owcChartSpace As OWC.ChartSpace = New OWC.ChartSpace()

Dim owcChart As OWC.WCChart = owcChartSpace.Charts.Add

5. 用SQL檢索條件進行數據庫檢索,并將檢索結果以RecordSet數據集的方式賦給owcChart。

OWC只支持RecordSet數據集,不支持DataSet數據集,因此在檢索時不能使用sqlCommand、sqlDataAdapter等對象,只能使用RecordSet對象進行檢索。

復制代碼 代碼如下:

'打開connection連接

ConnADO.Open(connectionString)

RecordsetADO.ActiveConnection = ConnADO

'設置游標為靜態(tài)游標

RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic

RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient

'變量strSQL中存放了標準SQL檢索條件

RecordsetADO.Open(strSQL)

然后將RecordSet數據集賦給OWC對象:

復制代碼 代碼如下:

owcChartSpace.DataSource = RecordsetADO

在本例中,我們假定用SQL語句檢索出的數據共有三個字段:產品、日期和價格。這三個字段的值分別與圖表中的曲線、分類(X)軸和數值(Y)軸的數據一一對應。

6. 確定曲線類型,并確定區(qū)別不同曲線的字段名。

首先確定曲線類型為平滑曲線。

復制代碼 代碼如下:

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLine

OWC支持在同一張圖表中顯示兩條以上的曲線。因此我們必須給出區(qū)別不同曲線的依據,這個依據就是“產品”字段的取值。具體地說,“產品”字段中有幾個不同的取值,就會生成幾條不同的曲線。

復制代碼 代碼如下:

owcChart.SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 0, “產品”)

7. 確定分類(X)軸標簽與數值(Y)軸標簽所對應的字段。

首先需要定義owcSeries為OWC的曲線集合,然后遍歷圖表中的每一條曲線,將“日期”字段的值賦給分類(X)軸作為X軸刻度標簽,將“價格”字段的值賦給數值(Y)軸作為Y軸刻度標簽。如果我們能夠確定圖表中只有一條曲線,也可以省略遍歷的過程,但這樣無疑會降低程序的通用性。

復制代碼 代碼如下:

Dim owcSeries As OWC.WCSeries

For Each owcSeries In owcChart.SeriesCollection

owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, “日期”)

owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, “價格”)

Next

8. 對坐標軸的屬性進行設置。

這部分代碼通過對坐標軸標題的文字內容、顏色、大小、主要和次要刻度線及其標簽、主要和次要網絡線等方面的設置美化圖表。讀者如果對本段代碼中的概念有些模糊,可以參考前一部分提供的那張圖表。具體設置方法請參見以下代碼。

復制代碼 代碼如下:

'先定義axis為坐標軸集合

Dim axis As OWC.WCAxis

'遍歷坐標軸集合

For Each axis In owcChart.Axes

'顯示軸標題

axis.HasTitle = True

'先對分類(X)軸進行設置

If axis.Type=OWC.ChartAxisTypeEnum.

chCategoryAxis Then

axis.HasTickLabels = True

'顯示X軸刻度標簽

axis.Position = OWC.ChartAxisPositionEnum.chAxisPositionBottom

'標簽的顯示位置

axis.Title.Font.Color =”blue”

'X軸的標題文字顏色

axis.Title.Font.Size = “9”

'X軸的標題文字大小

axis.Title.Caption = “日期范圍”

'X軸的標題文字內容

Else

'對數值(Y)軸進行設置

axis.MajorGridlines.Line.Color = “silver”

'Y軸主要網絡線的顏色

axis.MajorTickMarks = OWC.ChartTickMarkEnum.chTickMarkNone

'不顯示Y軸主要刻度標記

axis.HasTickLabels = True

'顯示Y軸刻度標簽

axis.Title.Font.Color = “blue”

'Y軸的標題文字顏色

axis.Title.Font.Size = “9”

'Y軸的標題文字大小

axis.Title.Caption=“價格(千元/噸)”

'Y軸的標題文字內容

End If

Next

9. 以GIF圖像格式輸出圖表,并將圖像文件名賦給Image控件。

復制代碼 代碼如下:

'用隨機數來生成隨機文件名

Randomize()

Dim nFileNameSuffix As Integer

Dim sFileNameSuffix As String

nFileNameSuffix = 100000 * Rnd()

sFileNameSuffix = System.Convert.ToString(nFileNameSuffix)

'以GIF格式輸出圖表,大小為500*300,圖表的文件名為:polyesterprice_隨機數.gif,存放在chart子目錄中

owcChartSpace.ExportPicture(MapPath(“chart/PolyesterPrice_”) + sFileNameSuffix + “.gif”, “gif”, 500, 300)

'將Image控件的URL指向該圖表文件

imgChart.ImageUrl=“chart/PolyesterPrice_” + sFileNameSuffix + “.gif”

通過以上九個步驟,我們就完成了一個實時數據庫圖表的生成與顯示。在此需要指出的是,以上的九個步驟只是生成一張圖表必不可少的基本過程,通過設置OWC的其他屬性可以更好、更精確地控制圖表的生成與顯示方式,如圖例、線條的粗細與顏色、坐標軸刻度線及標簽的顯示頻度、網絡線等。這部分筆者不再介紹,請參見本文第四部分的源代碼。

本文代碼生成的圖表效果請見下圖。

優(yōu)化

上文中所有實時生成的圖表文件都存放在chart文件夾中,由于采用了隨機文件名的方式,因此這些文件不會互相覆蓋。但是如此日積月累,越來越多的文件不僅占用了硬盤空 間,也妨礙了管理,降低了性能。我們能不能在程序中自動刪除以前的圖表文件呢?答案是肯定的。我們只要在代碼文件的Page_Load()函數中放置如下一段代碼,程序運行的時候,就會自動刪除當日以前的文件。這樣,chart文件夾中存放的就總是當日生成的圖表文件,從而有效地避免了文件垃圾。

復制代碼 代碼如下:

'先取得chart文件夾中的文件列表

Dim fileEntries() As String = System.IO.Directory.GetFiles(MapPath(“chart”))

Dim sFile As String

'遍歷文件列表

For Each sFile In fileEntries

'將文件的生成日期與系統日期相比,如果是當日以前生成的文件,刪除它

If DateTime.Compare(System.IO.File.GetCreationTime(sFile).AddDays(1), DateTime.Now) 0 Then

System.IO.File.Delete(sFile)

End If

Next

雖然用OWC生成的圖表功能齊全,界面美觀,但它也存在著不少的缺陷。首先,OWC不支持DataSet數據集,這樣我們就無法在生成圖表的同時使用DataGrid顯示數據表,除非我們用循環(huán)依次取出Recordset記錄集中的全部數據手工生成表格,或用同樣的檢索條件對數據庫進行二次檢索,但這無疑要增加服務器的負擔。其次,在同一張圖表中繪制的曲線只能是同一種類型,或同為平滑曲線圖,或同為柱狀圖,它不能在同一張圖表中顯示不同類型的曲線。最后,在某些細節(jié)方面,如分類(X)軸的設置方面,OWC無法提供更加詳細、人性化的設置途徑。如果讀者要追求更強大的功能和更好的顯示效果,筆者向您推薦兩個專業(yè)的基于.NET的圖表控件,這兩個控件分別由Dundas和Softwarefx公司出品,都同時支持Web Form和Win Form開發(fā),只是這兩個控件都是付費的。讀者如果有興趣,可以到它們的網站去下載DEMO版本,以親身體驗一下專業(yè)圖表控件帶來的強大功能。

您可能感興趣的文章:
  • .Net創(chuàng)建Excel文件(插入數據、修改格式、生成圖表)的方法
  • asp.net中一款極為簡單實用的圖表插件(jquery)
  • ASP.NET 統計圖表控件小結
  • asp.net微軟圖表控件使用示例代碼分享
  • HighCharts圖表控件在ASP.NET WebForm中的使用總結(全)
  • ASP.NET MVC中圖表控件的使用方法
  • jquery jqPlot API 中文使用教程(非常強大的圖表工具)
  • javascript實現的柱狀統計圖表
  • JavaScript可視化圖表庫D3.js API中文參考
  • ASP.NET中制作各種3D圖表的方法

標簽:通遼 泰州 牡丹江 平涼 天門 山西 景德鎮(zhèn) 嘉興

巨人網絡通訊聲明:本文標題《ASP.NET中實時圖表的實現方法分享》,本文關鍵詞  ASP.NET,中,實時,圖表,的,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中實時圖表的實現方法分享》相關的同類信息!
  • 本頁收集關于ASP.NET中實時圖表的實現方法分享的相關信息資訊供網民參考!
  • 推薦文章
    日韩在线观看免费全| 亚洲调教欧美在线| 欧美成人一区二区三区片免费| av福利网址| 日韩视频一区二区在线观看| 精品国产精品一区二区夜夜嗨| 久久久久久久久久久国产| 性高潮久久久久久久久久| 波多野结衣乳巨码无在线观看| 玖玖国产精品视频| 欧美日韩中文国产一区发布| 国产成人精品综合网站| 天天躁日日躁狠狠躁欧美| 99久热在线精品视频观看| 亚洲色图美女| 成人精品一二三区| 美女洗澡无遮挡| 亚洲永久免费观看| 一区精品在线播放| 午夜精品一区二区三| 91成人看片| 超黄网站在线观看| 欧美日韩一区二区三区不卡| 日本午夜视频在线观看| 日本女人高潮视频| 亚洲综合色视频在线观看| 中文字幕乱码亚洲精品一区| 日本xxxxxxxxxx75| 污视频免费在线看| 天堂网视频在线| 国产福利片一区二区| 天天射天天色天天干| 四虎成人在线视频| 国产精品久久久久久久久久小说| 亚洲天堂av免费在线观看| 久久只有精品| 欧美性高清videossexo| 国产免费a视频| 午夜精品影院| av黄色在线网站| 亚洲免费在线观看av| 97视频在线观看视频免费视频| 欧美成人精品在线视频| 免费黄色网址在线| 欧美成人免费在线观看视频| 中文字幕导航| 中文字幕色婷婷在线视频| 国产欧美午夜| 国产成人综合一区| 日本黄区免费视频观看| 久久国产一区二区| 日本xxxwww免费视频| 99久久婷婷国产综合精品电影√| 激情亚洲成人| 高清在线观看免费| 午夜精品久久久久| 九九久久精品| 91精品国产一区二区三密臀| 天天色综合天天色| 欧美三片在线视频观看| 亚洲欧美不卡| 四虎中文字幕| 日本大胆在线观看| 黄色资源网久久资源365| 欧美日韩mp4| 亚洲欧美精选| 亚洲精品在线视频播放| 日韩视频免费观看高清在线视频| 日韩三级影视| a一级免费视频| 久久久久九九视频| 超碰在线国产97| 香港成人在线视频| 在线欧美三级| 国产精品免费一区二区三区四区| 欧美这里只有精品| 免费vip影院| 91视频成人免费| 国产精品免费久久| xxxx日本免费| 9l亚洲国产成人精品一区二三| 羞羞视频立即看| 国产小视频国产精品| 日韩av在线影院| 精品国产精品国产精品| 成人福利片在线| 国产精品一二三在线| 91视频你懂的| 老司机aⅴ毛片免费观看| 免费看的毛片| 伊人久久大香线蕉av一区二区| 四虎永久国产精品| 97久久夜色精品国产九色| 日本免费一级视频| 日韩资源在线| 乱小说综合网站| dy888夜精品国产专区| 亚洲少妇久久久| 国产高清在线观看视频| av亚洲精华国产精华| 国产福利片在线观看| 在线观看区一区二| 蜜桃狠狠色伊人亚洲综合网站| 91麻豆成人精品国产| 国产在线视频欧美| 五月激情丁香一区二区三区| 一区二区在线视频播放| 欧美日韩99| 天天射天天干天天| 日韩欧美自拍| 亚洲欧美精品午睡沙发| 成人精品一区二区三区中文字幕| 99re91这里只有精品| 一区二区三区午夜探花| 黑人巨大精品欧美一区二区| 欧美性猛交xxx乱大交3蜜桃| 精品一区二区影视| 91久久中文| 91精品久久久久| 91在线九色porny| 亚洲欧洲精品成人久久奇米网| 日本午夜精品久久久| 欧美老年两性高潮| 色婷婷热久久| 日韩av毛片| 久久精品水蜜桃av综合天堂| 欧美国产日韩精品免费观看| 亚洲高清视频一区二区| 国产成人在线影院| 熟女性饥渴一区二区三区| 91av影院| 欧美性大战久久久久| 亚洲91精品| 国产亚洲情侣一区二区无| 成人黄色片视频网站| 国产精品69av| 国产一区亚洲一区| 中文字幕无码不卡免费视频| 男人的天堂avav| 美女啪啪无遮挡| 手机看片福利在线观看| 成人在线视频一区二区| 裸体素人女欧美日韩| 热久久久久久久久| 奇米精品一区二区三区在线观看| 久久久久久99久久久精品网站| 2020天天干夜夜爽| 国产免费观看久久| 欧美精品18videos性欧美| 少妇激情综合网| 精品女厕厕露p撒尿| 女女同性女同一区二区三区91| 日韩天堂在线| 中文字幕一区二区三区在线不卡| 国产精品三级av在线播放| 亚洲香蕉成视频在线观看| 国产伦精品一区二区三区视频金莲| 一级黄色片在线看| 天天色综合成人网| 无码人妻丰满熟妇区96| 亚洲8888| 国产一区二区在线视频播放| 国产传媒欧美日韩成人精品大片| 亚洲精品一区二区三区蜜桃下载| 亚洲午夜国产成人av电影男同| 一本色道精品久久一区二区三区| 俺要去色综合狠狠| 国产一区一区| 久久亚洲国产视频| 久久免费的精品国产v∧| 国产精品1024| 国产男女猛烈无遮挡在线喷水| 欧美sm精品调教视频| 91成人在线精品视频| 粉嫩一区二区三区性色av| 国内精品久久久| 亚洲美免无码中文字幕在线| 久久香蕉频线观| 亚洲激情校园春色| 4438欧美| 日韩网红少妇无码视频香港| 国产精品91免费在线| 1769国产精品视频| 99热免费观看| 国产伦精品一区二区三区免费优势| 91蜜桃婷婷狠狠久久综合9色| 日本成人在线播放| 高清欧美性猛交| 少妇高潮久久久| 欧洲亚洲一区二区三区| 亚洲一区二区三区四区电影| 色综合亚洲欧洲| 国产精品―色哟哟| sese在线视频| 日韩av卡一卡二| 天天干夜夜操| 2024国产精品| 无遮挡动作视频在线观看免费入口| 午夜伦理一区二区| 久草.com| 国产麻豆剧传媒精品国产| 国产91精品在线| 日本中文字幕在线一区| 91婷婷韩国| 黄色a级在线观看| 伊人久久精品视频| 日本一本中文字幕| 天天操中文字幕| 在线看片不卡| 天堂网在线最新版www中文网| 中文日韩在线视频| 91午夜伦伦电影理论片| 老妇女50岁三级| 亚洲成精国产精品女| 日韩av不卡播放| av中文字幕网址| 欧美久久九九| 91在线播放国产| 无人视频在线观看免费| 毛片不卡一区二区| 超碰在线公开97| 好久没做在线观看| 欧美 日韩 国产在线| 不卡在线一区二区| lutube成人福利在线观看| 亚洲精品成人天堂一二三| 亚洲图片有声小说| 999精品在线视频| 亚洲动漫第一页| 亚洲精品一区二区三区新线路| 99视频在线精品国自产拍免费观看| 678在线观看视频| 日韩美女视频在线| 精品人妻少妇嫩草av无码专区| 日本韩国一区二区| 国产免费人人看| 爽爽爽爽爽爽爽成人免费观看| 亚洲va久久久噜噜噜久久天堂| 狠狠色丁香久久综合频道| 欧美精品18| 久久久久久9| 97视频在线观看亚洲| jvid一区二区三区| 欧美 亚洲 视频| 中文字幕另类日韩欧美亚洲嫩草| 97在线观看免费高清视频| 99久久精品免费看国产四区| 国产一区二区黄| 中文字幕一区二区三区不卡在线| 国产亚洲自拍av| 国产精品91视频| 亚洲欧美色视频| 日产精品久久久久久久性色| 一区二区三区四区五区在线| 日韩免费高清在线| 成人精品动漫一区二区三区| 美女视频一区| 91视频青青草| 精品国产自在久精品国产| 亚洲一二三区精品| 日本成人超碰在线观看| 尤物视频在线观看国产| 国产人妻精品一区二区三区| 欧美一区二区三区系列电影| 欧美久久久久久久久久久久| 人人妻人人澡人人爽欧美一区| 一区二区三区国产在线观看| 欧美久久高跟鞋激| 成人在线观看网址| 男人天堂资源在线| 国产黄色在线看| 欧美成人精品在线视频| 国产一区二区三区四区在线观看| 91久久夜色精品国产按摩| 国产精品-色哟哟| 欧美一区欧美二区| 欧美大片免费| 成人涩涩免费视频| 手机精品视频在线观看| 最新中文字幕一区| 人妻无码久久一区二区三区免费| 亚洲欧美国产高清va在线播放| 国产欧美精品一区二区三区介绍| 欧美日韩日日夜夜| 欧美一区二区黄| 精品卡一卡二| 1234区中文字幕在线观看| 欧美日韩一区二区高清| 欧美黑人巨大xxxx猛交| 九九视频免费看| 国产精选久久久久久| 自拍亚洲一区欧美另类| 亚洲成在人线免费观看| 人人妻人人澡人人爽人人精品| 久久久久久毛片| 天天色av.com| 男人操女人在线观看| 亚洲成年人视频| 日韩精品一区二区三区| 成人性生交大片免费看中文视频| 黄色精品视频| 国产精品porn| 中文日韩欧美| 国产高清一区二区三区四区| 亚洲精品第一国产综合野| 岛国片在线免费观看| 成人午夜免费影院| 久久久久亚洲天堂| 综合久久2023| 欧美美女黄色| 亚洲天堂视频网| www.久久久久久久久久久| 国产伦一区二区三区色一情| 久久人人视频| 国产精品99久久久久久似苏梦涵| 精品欧美一区二区精品久久| 大地资源高清播放在线观看| 日韩女优人人人人射在线视频| 成人免费看的视频| 国产精品第二十页| 成人国产精品免费网站| 久久久久久久久久一区| 精品99久久久久成人网站免费| 亚洲欧洲精品在线观看| 亚洲欧美丝袜中文综合| 国产在线观看91精品一区| 国产免费福利| 亚洲免费婷婷|