在.Net開發中使用AnyChart的簡單例子(上)

1.AnyChart控件相關


顯示效果 html

2.AnyChart的簡單原理


AnyChart是一個Flash作的控件,原理圖在安裝了AnyChart後的說明文檔裏面有,這裏貼一下 數據庫

 其實很好理解,就是想辦法生成一個符合AnyChart解析的XML數據源,經過JavaScript綁定給報表文件(SWF) ide

3.在.Net中使用AnyChart


知道了原理,就好辦了。新建了一個項目 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)
 


獲取DataSet就不詳述了,每一個人有本身不一樣的數據集。個人數據庫結構以下:

 

報表要顯示的字段就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元素的內容便可。

相關文章
相關標籤/搜索