我對Chart控件的認識
MSChart控件,給圖形統計和報表圖像顯示提供了很好的解決辦法,有先數據直接就能在圖表上顯示出來,給使用者帶來了極大方便。
基本用法
在VS里面直接把Chart 空間拖入到頁面中,在后台綁定好xValues,yValues的值,然后在加入圓餅的百分比此時就把簡單的餅圖給顯示出來了。
如何綁定xValues,yValues的值
重要的是我們如何綁定xValues,yValues的值 ,xValues的值就是從數據源中得到的如上圖化學工業、非煤礦山等都是綁定到xValues上的值,yValues的值就是化學工業等所占企業總和的百分比;然后寫入 以下代碼就把xValues,yValues值綁定了。
Chart2.Series["Series1"].Points.DataBindXY(xValues, yValues);
其中Chart2是餅圖的名字,Series是圖表序列,通俗點說就是實際的繪圖數據區域,實際呈現圖形形狀就是由此集合中的每一個圖表構成可以往集合中添加多個圖表,每一個圖表都有自己的呈現的圖像、樣式和獨立的數據;DataBindXY()里面實際上傳的是一個數的集合。
如何得到xValues,yValues 的值
DataBindXY()里面放的就是xValues,yValues 的集合,我們可以從數據庫中把自己想要加到xValues上的值一一存放到一個集合中然后在綁定到xValues,我們也可以把讀取的數據直接放到xValues里面。
如過是通過SqlDataReader直接讀出來放進去可以這樣做
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); Chart1.Series["Series1"].Points.DataBindXY(dr, "orgname", dr, "dd");
其中orgname 是xValues的值,dd是yValues上的值。
我們也可以把得出來的值放入到一個數組中如下所示
double[] yValues = { sumWhp, sumFeimei, sumBaozhu, sumOther }; string[] xValues = { "化學工業", "非煤礦山", "煙花爆竹", "其他" }; Chart2.Series["Series1"].Points.DataBindXY(xValues, yValues);
其中yValues的值是從數據庫中讀出來然后做了一個統計(化學工業的總和),我把統計完之后的數據綁定到yValues值上。
實際上用Chart控件做餅圖很簡單就是把你想要展示的數據綁定到xValues,yValues。
以下死我在VS2010上做的餅圖,可下載參考http://files.cnblogs.com/changminglong/ChartTest.rar