顯示效果 html
AnyChart是一個Flash作的控件,原理圖在安裝了AnyChart後的說明文檔裏面有,這裏貼一下 數據庫
其實很好理解,就是想辦法生成一個符合AnyChart解析的XML數據源,經過JavaScript綁定給報表文件(SWF) ide
知道了原理,就好辦了。新建了一個項目 spa
項目結構以下: code
js,swf兩個文件夾內的文件是試用版提供的,能夠查看說明文檔。在安裝目錄/anychart/help/docs/SimpleChart.html這一頁的底部,有一個Open Folder With Sample的連接,打開就能找到這幾個文件。而xml文件夾是我本身建的,用於存放數據源。 server
由於只是作一個小例子,界面上我只放了2個按鈕,隨意的給了個左對齊: xml
<div style="text-align:left;"> <asp:Button ID="barChart" runat="server" Text="柱狀圖" OnClick="barChart_Click" /> <asp:Button ID="lineChart" runat="server" Text="曲線圖" OnClick="lineChart_Click" /> </div>
這兩個按鈕做用只是切換不一樣的報表而已,柱狀圖和曲線圖。接下來只要完成兩個部分:組裝XML文件,往頁面寫入js,就好了。 htm
我只寫了寥寥幾個方法: ip
/// <summary> /// 獲取DataSet /// </summary> /// <returns></returns> protected DataSet GetDataSet()
/// <summary> /// 建立出XML文件 /// </summary> /// <param name="SeriesTypeNode">圖表類型</param> private void CreateXml(string SeriesTypeNode)
/// <summary> /// 建立客戶端腳本,在頁面後面添加腳本 /// </summary> /// <param name="page">當前頁實例</param> /// <param name="scriptName">腳本名稱</param> /// <param name="script">要建立的腳本</param> public static void CreateStartupScript(Page page, string scriptName, string script)
報表要顯示的字段就TotalUser和Time兩個,TotalUse是Y軸,Time是X軸。怎麼把數據放到XML文件中呢?這裏,咱們要分析一下AnyChart接受的XML文件的格式,拿自帶文檔中的SimpleChart章節的例子作說明,咱們來看一下: ci
<anychart> <charts> <chart plot_type="CategorizedHorizontal"> <data> <series name="Year 2003" type="Bar"> <point name = "Department Stores" y="637166"/> <point name = "Discount Stores" y="721630"/> <point name = "Men's/Women's Specialty Stores" y="148662"/> <point name = "Juvenile Specialty Stores" y="78662"/> <point name = "All other outlets" y="90000"/> </series> </data> <chart_settings> <title> <text>Sales of ACME Corp.</text> </title> <axes> <y_axis> <title> <text>Sales</text> </title> </y_axis> <x_axis> <labels align="Outside"/> <title> <text>Retail Channel</text> </title> </x_axis> </axes> </chart_settings> </chart> </charts> </anychart>能夠看到,報表的數據就放在
<data> <series name="Year 2003" type="Bar"> <point name = "Department Stores" y="637166"/> <point name = "Discount Stores" y="721630"/> <point name = "Men's/Women's Specialty Stores" y="148662"/> <point name = "Juvenile Specialty Stores" y="78662"/> <point name = "All other outlets" y="90000"/> </series> </data>
series中的name屬性是這組數據的名字,type是報表顯示類型,這是Bar(柱狀圖),point是這組數據的信息,name是X軸,y就是Y軸。因此,若是咱們只是想得到一個能顯示出圖像的報表,而暫時無論它那些複雜的表現設置的話,只要寫好data元素的內容便可。