偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET 3.5中的ChartAreas控件詳解

開發(fā) 后端
ASP.NET 3.5圖表控件和ChartAreas控件主要介紹:通過圖例講述強(qiáng)壯的、靈活的和可自定義的圖表控件,給用戶的信息提供了一種更簡(jiǎn)單的方法。

圖表是一種直觀易懂的顯示信息的方式,為了在.Net應(yīng)用程序中支持圖表,微軟在.Net SP1和Visual Studio 2008中提供了一個(gè)插件以支持強(qiáng)壯的圖表,再也不用花錢購(gòu)買昂貴的、有專利權(quán)的軟件了。為了能夠創(chuàng)建本文所說的圖表,你需要安裝Microsoft Chart Controls for Microsoft .NET Framework 3.5和Microsoft Chart Controls add-on for Microsoft Visual Studio 2008。如果你對(duì)圖表還不熟悉,那就仔細(xì)閱讀本文吧。

ChartAreas控件

ASP.NET 3.5 ChartAreas控件中的ChartAreas屬性是ChartArea對(duì)象的集合,ChartArea負(fù)責(zé)顯示容器的屬性或圖表的背景,由于不止一個(gè),這就意味著MSChart控件可以包含多個(gè)圖表。

 ChartAreas

在使用多個(gè)ChartAreas時(shí)理解下面幾點(diǎn)內(nèi)容非常重要:

在技術(shù)上可以控制ChartArea的位置,因此多個(gè)ChartArea可以疊加,但不推薦這么做,建議在MSChart控件內(nèi)的獨(dú)立區(qū)域內(nèi)繪制它們,為了合并或覆蓋數(shù)據(jù)點(diǎn),推薦在一個(gè)ChartArea內(nèi)使用多個(gè)序列,后面將會(huì)有介紹。默認(rèn)情況下,控件會(huì)為你自動(dòng)調(diào)整大小和位置。

單個(gè)ChartArea將會(huì)獨(dú)立調(diào)整以適應(yīng)數(shù)據(jù),正如上圖所顯示的,第二個(gè)ChartArea中的Y值更大,數(shù)據(jù)點(diǎn)也更少。

多個(gè)ChartAreas控件允許你使用多個(gè)不相容的ChartTypes(序列對(duì)象屬性,控制圖表的顯示類型,如條形、柱狀和餅狀)顯示圖表,圖表任然顯示在相同的MSChart控件內(nèi)。

對(duì)于單個(gè)ChartArea,有許多獨(dú)立的屬性可以設(shè)置和調(diào)整,這樣你就可以自行調(diào)整圖表區(qū)域以滿足不同的需要,它的大部分屬性和面板控件的屬性都差不多,因此這里我們就不多說了,只說一下ChartArea唯一的屬性,下面是這些唯一屬性的清單:

3D樣式:使用ChartArea的Area3DStyle屬性和子屬性,我們可以創(chuàng)建漂亮的、十分搶眼的3D圖表,無論是在設(shè)計(jì)器中還是在代碼中都必需將Enable3D屬性設(shè)置為TRUE,其余的參數(shù)可以通過調(diào)整旋轉(zhuǎn)、視角、照明方式和其它3D元素,讓一個(gè)圖像看起來具有3D效果。

ChartAreas

坐標(biāo)軸控制和樣式:坐標(biāo)軸集合包括x軸和y軸,以及第二個(gè)x軸和y軸,這四個(gè)項(xiàng)目的屬性允許你設(shè)置樣式、設(shè)置標(biāo)簽、定義間隔、設(shè)置工具提示、設(shè)置縮放等,如果你的圖標(biāo)要求精確的間隔、標(biāo)簽或其它特殊的顯示需要,你可以使用這些屬性。例如,你可以顛倒坐標(biāo)軸的值,或控制如何在x軸上顯示標(biāo)簽。如果你使用圖表顯示實(shí)時(shí)信息,可以使用IntervalType屬性來配置基于日期和時(shí)間顯示數(shù)據(jù)點(diǎn)。

選擇光標(biāo):如果你對(duì)用戶使用鼠標(biāo)選擇數(shù)據(jù)點(diǎn)或點(diǎn)擊和拖拉范圍非常感興趣,這個(gè)時(shí)候就要用到CursorX和CursorY屬性了,你可以啟用選擇,并設(shè)置最初的光標(biāo)位置或范圍。

Series

和ChartAreas屬性一樣,Series屬性是一個(gè)集合。

單個(gè)ChartAreas實(shí)例包括3個(gè)重要的屬性:ChartArea屬性、ChartType屬性和Points集合屬性。

ChartArea:識(shí)別使用哪個(gè)ChartArea。

ChartType:識(shí)別表示數(shù)據(jù)時(shí)使用的圖標(biāo)類型,基本的類型有條形、柱狀、餅狀和線狀,還有一些高級(jí)選項(xiàng),如K線圖、曲線圖、追星圖等。

Points:它是DataPoint對(duì)象的集合,包括x值和y值,它們是繪在圖表上的序列的一部分,數(shù)據(jù)綁定時(shí)最常用的增加數(shù)據(jù)點(diǎn)的方法,本文后面會(huì)做介紹。

Series實(shí)例上的其他常用屬性和人們廣泛了解的還包括:

Color:這個(gè)屬性用于單獨(dú)設(shè)置每個(gè)數(shù)據(jù)點(diǎn)序列的顏色,默認(rèn)情況下,這個(gè)屬性是空白的,控件會(huì)自動(dòng)改變顏色,以保證將多個(gè)序列區(qū)分開來。

IsValueShownAsLabel:將這個(gè)屬性的值設(shè)為TRUE后(默認(rèn)是FLASE),圖表將顯示每個(gè)數(shù)據(jù)點(diǎn)的Y值。

Series

在講多個(gè)序列實(shí)例合并到一個(gè)ChartArea中時(shí),例如下面兩個(gè)獨(dú)立的圖表,每個(gè)圖表都包括6個(gè)數(shù)據(jù)點(diǎn)。

Series

假設(shè)你想比較這兩個(gè)圖表中的數(shù)據(jù)點(diǎn),你可以將這兩個(gè)MSChart控件放在一起,相互挨著,也可以在一個(gè)圖表中使用兩個(gè)ChartAreas控件,這兩種方式都沒問題,但都不能給你很好的視覺比較效果,這就是為什么MSChart要合并數(shù)據(jù)點(diǎn),讓你可以肩并肩地對(duì)比數(shù)據(jù)。將第二個(gè)圖表中的數(shù)據(jù)作為第二個(gè)序列實(shí)例添加到第一個(gè)圖表中,一下子就從視覺上改善了對(duì)比的效果。

Series

使用多個(gè)序列實(shí)例時(shí),記住每個(gè)序列使用的ChartType非常重要,不是所有ChartType選項(xiàng)放在一起都是兼容的。

總的說來,圖表控件的層次如下:MSChart控件有零到多個(gè)ChartAreas,一個(gè)ChartAreas有零到多個(gè)序列(Series),一個(gè)序列有零到多個(gè)數(shù)據(jù)點(diǎn)(DataPoints)。

數(shù)據(jù)綁定

數(shù)據(jù)可以在設(shè)計(jì)時(shí)或運(yùn)行時(shí)綁定,在設(shè)計(jì)時(shí)綁定要使用到數(shù)據(jù)源配置向?qū)В贛SChart控件數(shù)據(jù)源屬性下拉按鈕中可以找到它,如果你已經(jīng)配置過數(shù)據(jù)源,你可以在下拉列表中進(jìn)行選擇。

圖表函數(shù)

DataBind():綁定數(shù)據(jù)源的基礎(chǔ)函數(shù)。

DataBindTable():綁定圖表到特定的數(shù)據(jù)表,但不允許綁定多個(gè)Y值,每個(gè)序列不同的數(shù)據(jù)源或x值、y值有不同的數(shù)據(jù)源。

DataBindCrossTab():將圖表綁定到一個(gè)數(shù)據(jù)源,并允許基于一個(gè)數(shù)據(jù)列進(jìn)行分組,在具體指定的列上每個(gè)唯一的值將自動(dòng)創(chuàng)建一個(gè)單獨(dú)的序列。

數(shù)據(jù)點(diǎn)函數(shù)

DataBind():綁定一個(gè)序列到單一的數(shù)據(jù)源,并允許其它屬性綁定到同一個(gè)數(shù)據(jù)源(如標(biāo)簽、工具提示、圖例文本等)。

DataBindXY():允許將x值和y值綁定到獨(dú)立的數(shù)據(jù)源,它也用于為每個(gè)序列綁定單獨(dú)的數(shù)據(jù)源。

DataBindY():僅綁定序列中數(shù)據(jù)點(diǎn)的Y值。

數(shù)據(jù)源配置好后,MSChart控件可以綁定所有的實(shí)現(xiàn)了IEnumerable接口的對(duì)象,包括但不限于DataReader、DataSet、Array和List。也允許綁定SqlCommand、OleDbCommand、SqlDataAdapters和OleDbDataAdapter對(duì)象。

圖例

圖例屬性也是一個(gè)集合(叫做圖例對(duì)象),為了快速理解使用圖例可以做什么,可以把它想象成一個(gè)簡(jiǎn)單的表,假設(shè)你有一個(gè)表格,默認(rèn)有兩列,你可以從前面的例子看出,使用序列實(shí)例名的默認(rèn)設(shè)置和序列的顏色,圖例可以通過添加額外的單元列到CellColumn集合上進(jìn)行擴(kuò)展,還可以添加列標(biāo)題,便于更好地理解圖例。在下面的例子,標(biāo)題“Name”和“Color”已經(jīng)添加到默認(rèn)圖例實(shí)例上。

ChartAreas

每個(gè)序列的圖例文本由序列自身控制,在每個(gè)序列實(shí)例上使用LegendText屬性以改變圖表上圖例的文本,你也可以給圖例一個(gè)標(biāo)題。在下面的例子,圖例被標(biāo)題為“圖例”,除此之外,你還可以輸入文本,你也可以設(shè)置屬性來處理標(biāo)題的對(duì)齊、顏色和字體,你會(huì)發(fā)現(xiàn)大部分MSChart屬性這類操作和自定義,只要你愿意。

最后,圖表的圖例有兩種放置方法,默認(rèn)是在ChartArea外部,位于右側(cè),緊挨ChartArea。另一種是通過坐標(biāo)進(jìn)行精確控制,??吭贑hartArea內(nèi),通過設(shè)置ChartArea對(duì)象的DockedToChartArea屬性實(shí)現(xiàn)。

圖例

標(biāo)題

標(biāo)題和前面討論到的其它屬性類似,為每個(gè)標(biāo)題創(chuàng)建獨(dú)立的實(shí)例時(shí),圖表控件會(huì)在標(biāo)題集合中保留這些標(biāo)題實(shí)例,理解標(biāo)題的最好方法是將其認(rèn)為是一個(gè)標(biāo)簽控件,這意味著標(biāo)題可以頂端居中、左端居中、頂端居左和底部居右。

在下面的例子中,圖表?yè)碛幸粋€(gè)字體大小,頂端居中的標(biāo)題,叫做“My First Chart”。

My First Chart

提示和技巧

3D透明性:可以在序列上使用一些透明屬性讓3D圖表看起來更漂亮,在設(shè)計(jì)時(shí),可以將Alpha值添加到要使用的顏色的RGB代碼中,在屬性窗口中,選擇序列集,選擇一個(gè)序列,在該序列的屬性窗口上,在現(xiàn)有的3個(gè)RGB值前添加一個(gè)Alpha值,你可以使用下面的代碼完成同樣的任務(wù):

  1. chart1.Series["Series1"].  
  2. Color = Color.FromArgb(220, 123, 123, 123); 

利用設(shè)計(jì)器:在大多數(shù)時(shí)候,在代碼運(yùn)行時(shí)才配置圖表控件的屬性和配置選項(xiàng)是很愚蠢的,當(dāng)你的應(yīng)用程序以靜態(tài)的方式使用圖表時(shí)(如一直都是兩個(gè)序列的條形圖),在設(shè)計(jì)時(shí),設(shè)計(jì)器允許你配置和查看圖表。另一方面,如果你傾向于動(dòng)態(tài)使用圖表(如一會(huì)兒是餅圖,一會(huì)兒是線狀圖,用戶在運(yùn)行時(shí)可以自行修改),這種情況需要代碼在運(yùn)行時(shí)修改設(shè)計(jì),不用為每種圖表類型都手動(dòng)創(chuàng)建代碼,使用設(shè)計(jì)器創(chuàng)建后,從設(shè)計(jì)文件中去除多余的代碼,這樣可以節(jié)約你編碼和決定使用哪個(gè)屬性的時(shí)間。

邏輯名:這是一個(gè)通用的優(yōu)秀編程習(xí)慣,在創(chuàng)建ChartAreas、Series和Titles等時(shí),請(qǐng)確定都給它們?nèi)×嗣?,并且是容易記住的,例如,chart1.Series["Series1"]…, chart1.Series["Series2"]…就比chart1.Series["salesrepearningquarter"]…, chart1.Series["salesrepcomdatabyquarter"]…更容易引入錯(cuò)誤。

小結(jié)

微軟的ASP.NET 3.5圖表控件提供了強(qiáng)壯的、靈活的和可自定義的圖表控件,為顯示提供給用戶的信息提供了一種更簡(jiǎn)單可接受的方法,本文講了ChartAreas控件圖表的高級(jí)屬性,現(xiàn)在你可以開始創(chuàng)建好看的圖表贏得客戶的歡心。

【編輯推薦】

  1. ASP.NET環(huán)境下的Shell函數(shù)
  2. 在ASP.NET中向數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)
  3. ASP.NET用Post方式向網(wǎng)頁(yè)發(fā)送數(shù)據(jù)
  4. ASP.NET 2.0部署WEB應(yīng)用程序淺析
  5. ASP.NET編程入門解析(1)
  6. 介紹ASP.NET MVC框架
責(zé)任編輯:冰荷 來源: ctocio
相關(guān)推薦

2009-02-01 13:57:53

ASP.NET.NET圖表控件

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 10:43:59

ASP.NET控件開發(fā)

2009-06-08 16:00:00

ASP.NET 3.5

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-07-24 15:07:56

ASP.NET上傳文件

2009-08-07 14:42:02

ASP.NET控件開發(fā)

2009-07-29 17:32:00

ASP.NET Mul

2009-08-04 13:10:05

ASP.NET服務(wù)器控

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-27 13:52:36

Panel控件ASP.NET

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-27 17:38:30

WCF服務(wù)ASP.NET 3.5

2009-01-08 10:20:56

AutoCompletAjaxASP.NET

2009-07-28 14:22:05

數(shù)據(jù)源控件ASP.NET

2009-08-13 11:44:25

ASP.NET中的多種

2009-07-23 16:44:51

AdRotator控件ASP.NET

2009-07-27 13:20:19

HTML Map控件ASP.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)