微軟圖表控件MsChart使用文檔_第1頁
微軟圖表控件MsChart使用文檔_第2頁
微軟圖表控件MsChart使用文檔_第3頁
微軟圖表控件MsChart使用文檔_第4頁
微軟圖表控件MsChart使用文檔_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、U 聲 wWiwhT1 "曰mschart控件使用詳解ASP.NET 3.5 ChartAreas 控件中的ChartAreas屬性是ChartArea對象的集合,ChartArea負責顯示容器的屬性或圖表的背景,由于不止一個,這就意味著MSChart控件可以包含多個圖表。在使用多個ChartAreas時理解下面幾點內容非常重要:在技術上可以控制 ChartArea的位置,因此多個ChartArea可以疊加,但不推薦這么做, 建議在MSChart 控件內的獨立區域內繪制它們,為了合并或覆蓋數據點,推薦在一個ChartArea內使用多個序列,后面將會有介紹。默認情況下,控件會為你自動調

2、整大小和位置。單個ChartArea將會獨立調整以適應數據,正如上圖所顯示的,第二個ChartArea中的Y值更大,數據點也更少。多個ChartAreas控件允許你使用多個不相容的ChartTypes (序列對象屬性,控制圖表的顯示類型,如條形、柱狀和餅狀)顯示圖表,圖表任然顯示在相同的MSChart控件內。對于單個ChartArea,有許多獨立的屬性可以設置和調整,這樣你就可以自行調整圖表區域以滿足不同的需要,它的大部分屬性和面板控件的屬性都差不多,因此這里我們就不多說了,只說一下ChartArea唯一的屬性,下面是這些唯一屬性的清單:3D樣式:使用ChartArea的Area3DStyle

3、屬性和子屬性,我們可以創建漂亮的、十分搶眼的3D圖表,無論是在設計器中還是在代碼中都必需將Enable3D屬性設置為TRUE其余的參數可以通過調整旋轉、視角、照明方式和其它3D元素,讓一個圖像看起來具有3D效果。坐標軸控制和樣式:坐標軸集合包括 x軸和y軸,以及第二個x軸和y軸,這四個項目的屬性允許你設 置樣式、設置標簽、定義間隔、設置工具提示、設置縮放等,如果你的圖標要求精確的間隔、標簽或其 它特殊的顯示需要,你可以使用這些屬性。例如,你可以顛倒坐標軸的值,或控制如何在x軸上顯示標簽。如果你使用圖表顯示實時信息,可以使用IntervalType 屬性來配置基于日期和時間顯示數據點。這個時候就

4、要用到CursorX選擇光標:如果你對用戶使用鼠標選擇數據點或點擊和拖拉范圍非常感興趣, 和CursorY屬性了,你可以啟用選擇,并設置最初的光標位置或范圍。Series和ChartAreas屬性一樣,Series屬性是一個集合。單個ChartAreas實例包括3個重要的屬性:ChartArea屬性、ChartType屬性和 Points集合屬性。ChartArea :識別使用哪個 ChartArea 。ChartType :識別表示數據時使用的圖標類型,基本的類型有條形、柱狀、餅狀和線狀,還有一些高級 選項,如K線圖、曲線圖、追星圖等。Points :它是DataPoint對象的集合,包括

5、x值和y值,它們是繪在圖表上的序列的一部分,數據綁定 時最常用的增加數據點的方法,本文后面會做介紹。Series實例上的其他常用屬性和人們廣泛了解的還包括:Color :這個屬性用于單獨設置每個數據點序列的顏色,默認情況下,這個屬性是空白的,控件會自動 改變顏色,以保證將多個序列區分開來。IsValueShownAsLabel :將這個屬性的值設為 TRUEB(默認是FLASE,圖表將顯示每個數據點的Y值。在講多個序列實例合并到一個ChartArea中時,例如下面兩個獨立的圖表,每個圖表都包括 6個數據點。1214 S «Ri>-假設你想比較這兩個圖表中的數據點,你可以將這兩個

6、MSChart控件放在一起,相互挨著,也可以在一個圖表中使用兩個 ChartAreas控件,這兩種方式都沒問題,但都不能給你很好的視覺比較效果,這就 是為什么MSChart要合并數據點,讓你可以肩并肩地對比數據。將第二個圖表中的數據作為第二個序列 實例添加到第一個圖表中,一下子就從視覺上改善了對比的效果。D MSCharts DemoSenes 15eric32使用多個序列實例時,記住每個序列使用的ChartType非常重要,不是所有 ChartType選項放在一起都是兼容的。總的說來,圖表控件的層次如下:MSChart控件有零到多個 ChartAreas,一個ChartAreas有零到多個序

7、列(Series ),一個序列有零到多個數據點(DataPoints )。數據綁定數據可以在設計時或運行時綁定,在設計時綁定要使用到數據源配置向導,在MSChart控件數據源屬性下拉按鈕中可以找到它,如果你已經配置過數據源,你可以在下拉列表中進行選擇。圖表函數DataB in d():綁定數據源的基礎函數。DataBindTable():綁定圖表到特定的數據表,但不允許綁定多個Y值,每個序列不同的數據源或x值、y值有不同的數據源。DataBi ndCrossTab():將圖表綁定到一個數據源,并允許基于一個數據列進行分組,在具體指定的列上 每個唯一的值將自動創建一個單獨的序列。數據點函數Dat

8、aBind():綁定一個序列到單一的數據源,并允許其它屬性綁定到同一個數據源(如標簽、工具提示、圖例文本等)。DataBindXY():允許將x值和y值綁定到獨立的數據源,它也用于為每個序列綁定單獨的數據源。DataBindY():僅綁定序列中數據點的Y值。數據源配置好后,MSChart控件可以綁定所有的實現了IE numerable接口的對象,包括但不限于DataReader、DataSet、Array 和 List。也允許綁定 SqlCommand OleDbCommand SqlDataAdapters 和 OleDbDataAdapter 對象。圖例圖例屬性也是一個集合(叫做圖例對象)

9、,為了快速理解使用圖例可以做什么,可以把它想象成一個簡 單的表,假設你有一個表格,默認有兩列,你可以從前面的例子看出,使用序列實例名的默認設置和序 列的顏色,圖例可以通過添加額外的單元列到CellColumn集合上進行擴展,還可以添加列標題,便于更好地理解圖例。在下面的例子,標題“Name和“ Color ”已經添加到默認圖例實例上。每個序列的圖例文本由序列自身控制,在每個序列實例上使用LegendText屬性以改變圖表上圖例的文本,你也可以給圖例一個標題。在下面的例子,圖例被標題為“圖例”,除此之外,你還可以輸入文本,你也可以設置屬性來處理標題的對齊、顏色和字體,你會發現大部分MSChart

10、屬性這類操作和自定義,只要你愿意。最后,圖表的圖例有兩種放置方法,默認是在ChartArea外部,位于右側,緊挨 ChartArea。另一種是通過坐標進行精確控制,停靠在 ChartArea內,通過設置 ChartArea對象的DockedToChartArea屬性實 現。標題 標題和前面討論到的其它屬性類似,為每個標題創建獨立的實例時,圖表控件會在標題集合中保留這些 標題實例,理解標題的最好方法是將其認為是一個標簽控件,這意味著標題可以頂端居中、左端居中、 頂端居左和底部居右。在下面的例子中,圖表擁有一個字體大小,頂端居中的標題,叫做"My First Chart ”。提示和技巧3

11、D透明性:可以在序列上使用一些透明屬性讓3D圖表看起來更漂亮,在設計時,可以將 Alpha值添加到要使用的顏色的 RGB代碼中,在屬性窗口中,選擇序列集,選擇一個序列,在該序列的屬性窗口上,在現有的3個RGB直前添加一個 Alpha值,你可以使用下面的代碼完成同樣的任務:1. chart1.Series"Series1".2. Color = Color.FromArgb(220, 123, 123, 123);利用設計器:在大多數時候,在代碼運行時才配置圖表控件的屬性和配置選項是很愚蠢的,當你的應用 程序以靜態的方式使用圖表時(如一直都是兩個序列的條形圖),在設計時,設計

12、器允許你配置和查看 圖表。另一方面,如果你傾向于動態使用圖表(如一會兒是餅圖,一會兒是線狀圖,用戶在運行時可以 自行修改),這種情況需要代碼在運行時修改設計,不用為每種圖表類型都手動創建代碼,使用設計器 創建后,從設計文件中去除多余的代碼,這樣可以節約你編碼和決定使用哪個屬性的時間。邏輯名:這是一個通用的優秀編程習慣,在創建 ChartAreas、Series和Titles 等時,請確定都給它們 取了名字,并且是容易記住的,例如,chart1.Series"Series1" , , chart1.Series"Series2",就比 chart1.Ser

13、ies"salesrepearningquarter"容易引入錯誤。chart1.Series"salesrepcomdatabyquarter"二、詳解chart控件主要有 Titles標題集合 Chart Area圖形顯示區域Series圖表集合 Lege nds圖列的集合(1) 常用事件:1. Series1.Poi nts.DataBi nd()綁定數據點集合,如果要在一個MSChart控件的一個繪圖區(ChartArea)內添加多個不同數據源的圖表,就用這個主動綁定數據集合的方法。可以將表中指定字段 的值綁定到指定的坐標軸上。2. MSChar

14、t1.DataBind()給整個MSChart綁定一個數據源,該MSChart中的圖表全部可以使用該數據源作為統計來源(2) MSChart的元素組成,最常用的屬性包括:ChartAreas :增加多個繪圖區域,每個繪圖區域包含獨立的圖表組、數據源,用于多個圖表類型在一個 繪圖區不兼容時。Alig nmen tOrie ntation:圖表區對齊方向,定義兩個繪圖區域間的對齊方式。Alig nmen tStyle:圖表區對齊類型,定義圖表間用以對其的元素。Alig nWithChartArea:參照對齊的繪圖區名稱。Inn erPlotPositio n:圖表在繪圖區內的位置屬性。Auto :

15、是否自動對齊。Height :圖表在繪圖區內的高度(百分比,取值在 0-100)Width :圖表在繪圖區內的寬度(百分比,取值在 0-100)X,Y :圖表在繪圖區內左上角坐標Name繪圖區名稱。Axis :坐標軸集合Title :坐標軸標題TitleAlignment :坐標軸標題對齊方式Interval :軸刻度間隔大小IntervalOffset :軸刻度偏移量大小MinorGrid :次要輔助線MinorTickMark :次要刻度線MajorGrid :主要輔助線MajorTickMark :主要刻度線DataSourceID :MSChart 的數據源。Legends :圖例說明

16、。Palette :圖表外觀定義。(3)Series :最重要的屬性 ,圖表集合,就是最終看到的餅圖、柱狀圖、線圖、點圖等構成的集合; 可以將多種相互兼容的類型放在一個繪圖區域內,形成復合圖。IsValueShownAsLabel :是否顯示數據點標簽,如果為 true ,在圖表中顯示每一個數據值Label :數據點標簽文本LabelFormat :數據點標簽文本格式LabelAngle :標簽字體角度Name圖表名稱Points :數據點集合XValueType :橫坐標軸類型YValueType :縱坐標軸類型XValueMember:橫坐標綁定的數據源(如果數據源為Table,則填寫橫坐

17、標要顯示的字段名稱)YValueMembers:縱坐標綁定的數據源(如果數據源為 Table,則填寫縱坐標要顯示的字段名稱,縱坐標可以有兩個)ChartArea :圖表所屬的繪圖區域名稱ChartType :圖表類型(柱形、餅形、線形、點形等)Lege nd :圖表使用的圖例名稱Titles :標題集合。width : MSChart 的寬度。height : MSChart 的高度。( 4)示例:private void BindGrid()chart2.Width = 800;chart2.Height = 600;/作圖區的顯示屬性設置/chart2.ChartAreas"Ch

18、artArea1".AxisX.IsMarginVisible = false;/chart2.ChartAreas"ChartArea1".Area3DStyle.Enable3D = false;/ 背景色設置chart2.ChartAreas"ChartArea1".ShadowColor = Color.Transparent;chart2.ChartAreas"ChartArea1".BackColor = Color.FromArgb(209, 237,254);/該處設置為了由天藍到白色的逐漸變化chart2.

19、ChartAreas"ChartArea1".BackGradientStyle = GradientStyle.TopBottom;chart2.ChartAreas"ChartArea1".BackSecondaryColor = Color.White;/X,Y 坐標線顏色和大小= Color.FromArgb(64, 64, 64, 64);= Color.FromArgb(64, 64, 64, 64);時間" 灰量 "chart2.ChartAreas"ChartArea1".AxisX.LineCol

20、orchart2.ChartAreas"ChartArea1".AxisY.LineColorchart2.ChartAreas"ChartArea1".AxisX.LineWidth = 2;chart2.ChartAreas"ChartArea1".AxisY.LineWidth = 2;chart2.ChartAreas"ChartArea1".AxisX.Title = "chart2.ChartAreas"ChartArea1".AxisY.Title = "/ 中

21、間 X,Y 線條的顏色設置chart2.ChartAreas"ChartArea1".AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);chart2.ChartAreas"ChartArea1".AxisY.MajorGrid.LineColor = Color.FromArgb(64,64, 64, 64);/X.Y 軸數據顯示間隔chart2.ChartAreas"ChartArea1".AxisX.Interval = 1.0;/X 軸數據顯示間隔chart2.

22、ChartAreas"ChartArea1".AxisX.IntervalType = DateTimeIntervalType.Days;chart2.ChartAreas"ChartArea1".AxisX.IntervalOffset = 0.0;chart2.ChartAreas"ChartArea1".AxisX.IntervalOffsetType =DateTimeIntervalType.Days;chart2.ChartAreas"ChartArea1".AxisX.LabelStyle.Form

23、at = "M-d"chart2.ChartAreas"ChartArea1".AxisY.Interval = 200;/y 軸數據顯示間隔/X 軸線條顯示間隔/chart2.ChartAreas"ChartArea1".AxisX.MajorGrid.IntervalType =DateTimeIntervalType.Hours;chart2.Palette = ChartColorPalette.Pastel;string sql = "select sum(zhl) zhl, input_date, ash_typ

24、e_name from (" +" select sum(t.second_load - t.first_load) as zhl," +" to_date(to_char(t.input_date, 'dd/mm/yyyy')|'00:00','dd/mm/yyyyhh24:mi:ss') as input_date," +" u.ash_type_name" +" from transportation_bill t, ash_type u" + &qu

25、ot; where t.ash_type_id = u.ash_type_id"" and (t.input_date between to_date('2009-6-11','yyyy-mm-dd') andto_date('2009-6-20','yyyy-mm-dd')" +/ 此處加按日期查詢的條件" and t.sale_organization_id = 1" +/此處加用戶所在機構查詢條件group by u.ash_type_name, t.input_date&q

26、uot; +" order by t.input_date" + ")" " group by ash_type_name,input_date" +" order by input_date"DataTable dt2 = OracleHelper.ExecuteDataTable(OracleHelper.ConnectionString,CommandType.Text, sql, "T", null);chart2.DataB in dCrossTable(dt2.DefaultView

27、,"ash_type_ name", "in put_date","zhl","",Poi ntSortOrder.Asce ndi ng);foreach (Series sr in chart2.Series)sr.ChartType = SeriesChartType.Spli ne;sr.XValueType = ChartValueType.Date;sr.MarkerStyle = MarkerStyle.Circle;/散點樣式sr.MarkerSize = 5;/默認是5,散點大小sr.Marker

28、Step = 1;/默認是1,散點頻率sr.MarkerColor = 1;/默認是透明,散點顏色sr.BorderWidth = 2;/chart2.Lege nds"Default".Docki ng = Docki ng. Left;1.什么是MSChartCha rt: Microsoft Chart Con trols for Microsoft .NET Framework 3.5* 適用于.NET Framework 3.5 SP1的 ASP.NET 和 Windows Form圖標控制項* 開發商:2007年Dun das 開發出收費的Chart控件2008

29、/9/8微軟發布免費的 MSChart控件* Support Service :system :win2003 sp2 ,win2008,w in dows vista,wi nxpsp3 .n et Framework: .NET Framework 3.5 SP1(VS2008)* 處理器:400 MHz Pentium(最低);1GHz Pentium (建議) RAM : 96 MB (最小)256MB(建議)Hard : 500MB可用磁盤空間* 顯卡: 800*600、256 色(小)1024*768、256 色2. MSchart 安裝安裝完成 VS2008 (.NET Fram

30、ework 3.5 SP1)下載地址1) dot netfx35setup.exe2) MSChart.exe3) MSChart_VisualStudioAddO n. exe4) MSChartLP_chs.exe 安裝順序:(1) dotnetfx35setup.exe(2) MSChart_VisualStudioAddOn.exe(3) MSChartLP_chs.exe(4) MSChart.exe打開VS2008在工具中新增了 Data Chart控件:MSChart圖表類型 1.Bar and Colum n Charts 3D or 2D Bar or Colum n Cha

31、iHtse this page:Bar and ColumnStacked charts3D Bar and Colum n2.Li ne Charts2D Lrne3. Range Charts4. Circular chartsRd缶* Area Crijrt5. Accumulati on charts2D Pol Lff-ffPrQtfU.CE AP曄加“ CPFQtfU.CE AP曄加“ CPfdu Ct D30旳歸厲礎Chart30 Funn?! Chart with Pont Gaps6. Area Chart3D 5pli胭月00B Cemp* k心 tn a 比 C心櫛昨申3

32、nfiM D10,0003D -'fga Ch aft7. Pie and Dough nut charts2D DCHhnut Erf2D -jfOK#CI P* E肌8. Point charts9. Adva need Finan cial chartsB 陽*dS24 MU/uu xnaJi/27 straw 10世為肚B 陽*dSB 陽*dS10. Comb in atio nal ChartsCombination CharuB 陽*dSB 陽*dS3.MSChart屬性介紹Oiort IrflQO>orf PictureChart Control for ,NET

33、FrameworkAasTffeAxreLnMSenesPloi ArenMarkerLegendVodwo Lobe*Chun AreasMninrTkkMnrk Minc»rTickMnrk AjosTite incir Grid line MujorGndljnH這些屬性在添加chart的時候會有。開啟VS2008 ?新建網站 ChartTest打開工具列點擊Chart在頁面中添加Chart圖形,在屬性欄中選擇Chart類型屬性修改:Chvtl 軸:中1回.AwsK 拜 DrngiiUd TM】風當 Q(ERtaCHu) 伽IbM沁陽 DihSowlO 0直loMuho血Emu

34、Ti-牛 3日'-:佃右詵龍鷲抑爲Ft匕lip&vbMTmM1 屮加覇會)冃JlUComiimon0in*UftiidTfXl Lcfridroallp "話 MU"BubbleLineSpline:SttpLuneRM-he加kedB討 StackedSailOOTStKkCohimja lilii StackjedCQlumnl =昨天在網上看到了微軟發布了.NET 3.5框架下的圖表控件,第一時間抓下來看了一下,發覺功能很強勁,基本上能想到的圖表都可以使用它繪制出來,給圖形統計和報表圖形顯示提供了很好的解決辦法, 同時支持 Web和WinForm 兩種

35、方式,不過缺點也比較明顯,只能在最新的開發環境中使用,需要.Net 3.5 Sp1以及VS 2008的開發環境。下面是下載地址:控件:Microsoft .NET Framework 3.5 的 Microsoft圖表控件(Microsoft Chart Controls for Microsoft .NET Framework 3.5 )-*包含英文版,中文版。上面提供的鏈接是中文版的,可以更改為英文版。« 語言包:Microsoft Chart Controls for Microsoft .NETFramework 3.5 LanguagePack« Microsof

36、t .NET Framework 3.5 的Microsoft 圖表控件 的語言包,包含 23中語言。« Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 -這個只有英文的,沒找到中文的。« 文檔 (Microsoft Chart Controls for .NET FrameworkDocumentation)這個只有英文的,沒找到中文的。 WinForm禾口 Asp .net 的例子(Samples Environment for Microsoft Chart Con trols )這個只

37、有英文的,沒找到英文的。* Demo 下載:下了它的示例程序后,運行了一下,非常的強大,可以支持各種各樣的圖形顯示,常見的:點狀圖、 餅圖、柱狀圖、曲線圖、面積圖、排列圖等等,同時也支持3D樣式的圖表顯示,不過我覺得最有用的功能還是支持圖形上各個點的屬性操作,它可以定義圖形上各個點、標簽、圖形的提示信息(Tooltip )以及超級鏈接、Javascript 動作等,而不是像其它圖形類庫僅生成一幅圖片而已,通過這些,加上微 軟自己的Ajax框架,可以建立一個可以互動的圖形統計報表了。一。安裝控件的安裝相對比較簡單,下載完后,先執行“ MSChart.exe程序,它會自動檢測你的環境,安裝到系統目

38、錄中去,如果要在VS 2008環境中直接使用,那么需要安裝For Vs2008的插件,MSChart_VisualStudioAddOn.exe,還有一個中文語言包MSChartLP_chs.exe 。安裝完后,打開 Vs2008 ,在建立項目的時候,你就能在工具欄中看到有一個Chart的控件了,如下圖:工具箱”占使用安裝好后,建立一個.NET3.5的Web項目,像使用普通控件一樣拖放到要使用的Web界面即可。初步研究了一下,整個圖形控件主要由以下幾個部份組成:1. A nno tati ons2. ChartAreas3. Lege nds4.Series5.Titles-圖形注解集合-圖表

39、區域集合-圖例集合-圖表序列集合(即圖表數據對象集合)-圖標的標題集合Anno tatio ns注解集合Ann otatio ns是一個對圖形的一些注解對象的集合,所謂注解對象,類似于對某個點的詳細或者批注的說明,比如,在圖片上實現各個節點的關鍵信息,如下圖方框和黃色的小方框:一個圖形上可以擁有多個注解對象,可以添加十多種圖形樣式的注解對象,包括常見的箭頭、云朵、 矩行、圖片等等注解符號,通過各個注解對象的屬性,可以方便的設置注解對象的放置位置、呈現的顏 色、大小、文字內容樣式等常見的屬性。ChartAreas圖表區域集合ChartAreas 可以理解為是一個圖表的繪圖區,例如,你想在一幅圖上

40、呈現兩個不同屬性的內容,個是用戶流量,另一個則是系統資源占用情況,那么你要在一個圖形上繪制這兩種情況,明顯是不合理 的,對于這種情況,可以建立兩個ChartArea ,一個用于呈現用戶流量,另一個則用于呈現系統資源的占用情況。當然了,圖表控件并不限制你添加多少個繪圖區域,你可以根據你的需要進行添加。對于每一個繪 圖區域,你可以設置各自的屬性,如:X,Y軸屬性、背景等。需要注意的是,繪圖區域只是一個可以作圖的區域范圍,它本身并不包含要作圖形的各種屬性數據。多繪圖區效果圖如下,分為上下兩個繪圖區域,分別表示不同的繪圖數據:Lege nds 圖例集合Lege nds是一個圖例的集合,即標注圖形中各個

41、線條或顏色的含義,同樣,一個圖片也可以包含多 個圖例說明,比如像上面說的多個圖表區域的方式,則可以建立多個圖例,每別說明各個繪圖區域的信 息,具體的圖例配置說明此處就不詳細說明了,可以參考一下官網的例子,寫得豐富的詳細了:)也上 一張圖例的效果圖吧DetailsName SymLegend Item Legend ItemColumnSeprtorLegend Item Legend ItemColumnColurnnSpacingSeries圖表序列圖表序列,應該是整個繪圖中最關鍵的內容了,通俗點說,即是實際的繪圖數據區域,實際呈現的 圖形形狀,就是由此集合中的每一個圖表來構成的,可以往集合

42、里面添加多個圖表,每一個圖表可以有 自己的繪制形狀、樣式、獨立的數據等。需要注意的是,每一個圖表,你可以指定它的繪制區域(見ChartAreas的說明),讓此圖表呈現在某個繪圖區域,也可以讓幾個圖表在同一個繪圖區域疊加,如下圖:Series上面兩幅圖,分別表示了把圖表放在不同的繪制區域和放在同一個繪制區域的情況。繼續回到ChartAreas 章節舉的例子,同時要顯示用戶的流量還要顯示系統的占用情況,對于這種 時候,應該建立兩個 Series,一個用于呈現用戶的流量,另一個則用于呈現系統的占用情況。它們分別 屬于各自的繪圖區域。Titles 標題合集根據字面含義即可以理解,是圖表的標題配置,同樣

43、可以添加多個標題,以及設置標題的樣式及文 字、位置等屬性。多看一下它的屬性即能明白各自的含義。三。其它屬性相對來說,我覺得比較有用的屬性有三個,分別是:Label、Tooltip以及Url鏈接。2008200&2008200B2008200B2006像上圖:X軸和Y軸的文字便是標簽,以及圖表曲線中的紅點上的文字,也是標簽,添加了標簽,可以 讓人更容易的對內容進行理解。Tooltip即提示的含義,用于在各個關鍵點,女口:標簽、圖形關鍵點、標題等當鼠標移動上去的時候, 提示用戶一些相關的詳細或說明信息,例如上圖,可以給曲線中的每一個點增加Tooltip的屬性,寫上需要詳細說明的內容,比如:

44、詳細的銷售明細,那么,在鼠標移動到這個點的時候,會自動彈出提示信 息。Tooltip可以支持簡單方式以及自定義的方式,簡單方式即像平時Html頁面設置的title之類的屬性效果,而自定義的方式,則可以實現圖形、文本等各種復雜的提示信息顯示。詳細的方式請參考官方 例子的:In teractivityand AJAX/Tooltips 以及 In teractivityand AJAX/Clie ntSide Scripts 下面的相關例子。Url鏈接,圖表控件中,有一大半的控件都有Url及Tooltip的屬性,你可以設置此屬性,在鼠標點擊的時候,代到其它相應的頁面去。建議大家看看官方例子中的In

45、 teractivityand AJAX 部份,很精彩:)例子:建立一個 Cpu信息和內存使用的實時統計表下面寫一個小例子,建立一個系統的內存實時統計圖表,使用到了Ajax的方法,以及 Windows Api取得系統內存的方法。首先,建立一個 Aspx頁面,拖動一個圖表控件到頁面,設置圖表控件的屬性如下:其中,MEMORY_INFO,Computerlnfo是一個定義的結構體及調用 Win32 API接口的一個訪問類。程序分別取得每一個圖表對象, 每次加載的時候,都重新取得當前的內存和 Cpu信息,再在圖表上添加 一個點,需要注意的是,一定要設置圖表控件的EnableViewState 屬性為

46、True,否則無法記錄狀態。<asp:ChartBackGradie ntStyleEn ableViewStateID ="ChartMemory" runat ="server" BackColor ="TopBottom"="True" HeightBackSec on daryColor="363px" Width ="415px">="LightSteelBlue"="White"En ableThemi ng=&

47、quot;False"<Legends ><asp:Lege nd</ asp:Legend</ Legends >Alig nment="Ce nter">Docking ="Bottom" Name ="Legend1" Title ="圖例"><Titles ><asp:Title</ asp:TitleFont ="微軟雅黑,16pt">Name ="Title1"Text =&q

48、uot;系統內存監控圖表"><asp:Series ChartType YValueType</ asp:Series > <asp:SeriesBorderWidth ="3" ChartArea ="ChartArea1"ChartType ="Spli ne"Lege nd ="Lege nd1" Name ="全部占用內存"> </ asp:Series<asp:SeriesName="CPU">Char

49、tArea ="ChartArea2"ChartType ="StackedArea"Legend ="Legend1"</ Titles > <Series >BorderColor ="White"BorderWidth ="3" ChartArea ="ChartArea1"="Spl in e" Lege nd ="Lege nd1" Name ="已使用物理內存"XValueType

50、 ="Double" ="Double"></ asp:Series</ Series ><ChartAreas<asp:ChartAreaName ="ChartArea1">BackColor ="224, 224, 224"BackGradie ntStyle="LeftRight"Name ="ChartArea2"></ asp:ChartArea <asp:ChartArea</ asp:Chart

51、Area</ ChartAreas </ asp:Chart >一共建立了兩個繪圖區,一個用于呈現內存使用情況的在ChartArea1區域,另一個則是呈現Cpu使用情況的,放置在 ChartArea2區域了。一共有三個圖表,分別表示已使用的物理內存、全部占用的物理內存,以及Cpu使用顯示的情況。添加一個Ajax的計時器以及 Ajax的ScriptManager,UpdatePanel,把計時器和圖表控件都拖進UpdatePanel里面。設置計時器的間隔時間為一秒鐘(1000 ),雙擊計時器,寫如下代碼:EHstatic Performa nceCou nter pc =Tim

52、e" , "_Total" );new Performa nceCou nter("Processor""% Processorprotected void Timer1_Tick(objectsen der, Eve ntArgs e)MEMORY_INFO MemI nfo = new MEMORY_INFO();ComputerI nfo.GlobalMemoryStatus( /UseMemorySeries series = ChartMemory.Series int xCou nt = series.Po in ts.C

53、ou nt =ref MemI nfo);0;0 ? 0 : series.Poi nts.Cou nt -1;0 ? 1 : series.Poi ntsxCou nt.XValuedoublelastXValue = series.Po in ts.Cou nt =+ 1 ;double lastYValue = (double )(MemI nfo.dwTotalPhys-Meml nfo.dwAvailPhys)/1024 / 1024series.Poi nts.AddXY(lastXValue, lastYValue);/Total Memoryseries = ChartMemo

54、ry.Series1 ;lastYValue = ( double )(MemI nfo.dwTotalVirtual+Meml nfo.dwTotalPhys-Meml nfo.dwAvailPhys - MemInfo.dwAvailVirtual)/1024 / 1024 ;series.Poi nts.AddXY(lastXValue, lastYValue);/CPUseries = ChartMemory.Series2;lastYValue = ( double )pc.NextValue(); series.Poi nts.AddXY(lastXValue, lastYValu

55、e);/ Remove points from the left chart side if number of points exceeds 100.while ( this .ChartMemory.Series0.Poi nts.Cou nt >80)/ Remove series points foreach (Series ss.Poi nts.RemoveAt(in this .ChartMemory.Series)0);/ Adjust categorical scaledouble axisMi ni mum =thisthis .ChartMemory.ChartAre

56、asthis .ChartMemory.ChartAreas.ChartMemory.Series0.Poi nts0.AxisX.Mi ni mum = axisMi ni mum;0.AxisX.Maximum = axisMi ni mum +0.XValue;99 ;附上取得內存信息的類代碼:03/<summary>III取得計算機的系統信息/ </summary>public class Computeri nfo / <summary>/ 取得Windows 的目錄/ </summary>/<param n ame="Wi nDir"x/param>/<param n ame="cou nt"></param>Dlllmport( "ker nel32" )cou nt);cou nt);public static ex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論