HighchartsNET快速圖表控件-開源


前言:

HighchartsNET快速圖表控件,基於Highcharts的asp.net web控件。只需幾行代碼你就能快速生成一個圖表。

從此不再擔心圖表復雜。簡單幾行代碼就可以搞定,節省大量工作時間。

內置Highcharts ,但僅限個人學習使用,如需商業,請遵守Highcharts Licensing。

 

控件特色:

支持DataBind() 與微軟其他數據控件一樣直接DataBind() 數據源支持DataTable DataSet。

無需添加引用,內置Highcharts jQuery。 

 

Github:https://github.com/linezero/HighchartsNET

 

下面我來介紹一下使用方法:

 

使用方法: 

首先將HighchartsNET.dll 添加到項目引用。

 

在頁面上注冊HighchartsNET

<%@ Register TagPrefix="Zero" Namespace="HighchartsNET" Assembly="HighchartsNET" %>

 

然后在頁面上添加一個HighchartsNET控件

 

<Zero:HighCharts runat="server" ID="highcharts1" Title="柱狀圖"/>

最后在Page_Load 里添加綁定代碼即可

 1         //上面部分只是模擬數據
 2         DataTable dt = new DataTable();
 3         dt.Columns.Add("a");
 4         dt.Columns.Add("b");
 5         DataRow dr = dt.NewRow();
 6         dr[0] = "2013/1";
 7         dr[1] = "50";
 8         dt.Rows.Add(dr);
 9         DataRow dr1 = dt.NewRow();
10         dr1[0] = "2013/2";
11         dr1[1] = "150";
12         dt.Rows.Add(dr1);
13 
14         //圖表只需這部分代碼
15         highcharts1.Type = HighchartsNET.ChartType.Column;
16         highcharts1.DataKey = "a";
17         highcharts1.DataValue = "b";
18         highcharts1.YAxis = "降雨量(mm)";//Y軸的值;
19         highcharts1.Tooltip = "valueSuffix: 'mm'";
20         highcharts1.DataName = "武漢";
21         highcharts1.Legend = true;//是否顯示標示,默認為false
22         highcharts1.DataSource = dt;
23         highcharts1.DataBind();

 最終效果圖如下:

 

 

非常簡單即可生成你所需要的圖表。已在實際項目中實踐,感覺非常方便。

 

屬性說明:

        /// <summary>
        /// 圖表標題
        /// </summary>
        [Description("圖表標題")]
        public string Title { get; set; }
        /// <summary>
        /// 圖表類型
        /// </summary>
        public ChartType Type { get; set; }
        /// <summary>
        /// 圖表2級標題
        /// </summary>
        public string SubTitle { get; set; }

        /// <summary>
        /// 數據對象
        /// </summary>
        public ChartsSeries Series { get; set; }

        /// <summary>
        /// 一些附加選項
        /// </summary>
        public string PlotOptions { get; set; }
        /// <summary>
        /// X軸選項
        /// </summary>
        public List<object> XAxis { get; set; }
        /// <summary>
        /// Y軸選項 默認可以只填名稱
        /// </summary>
        public string YAxis { get; set; }

        /// <summary>
        /// 提示格式
        /// </summary>
        public string Tooltip { get; set; }
        /// <summary>
        /// 圖表層id(容器)
        /// </summary>
        public string DivId { get; set; }

        /// <summary>
        /// 圖標下方標識是否顯示 默認不顯示
        /// </summary>
        public bool Legend { get; set; }

        /// <summary>
        /// 高級功能,多個數據集,多條圖表,餅圖不需要。
        /// </summary>
        public List<ChartsSeries> SeriesList { get; set; }

        public override Unit Width
        {
            get
            {
                return base.Width;
            }
            set
            {
                base.Width = value;
            }
        }

        public override Unit Height
        {
            get
            {                
                return base.Height;
            }
            set
            {
                base.Height = value;
            }
        }

        private bool noscript = true;
        /// <summary>
        /// 是否自動引用腳本,默認為true 設為false即需要手動添加js引用
        /// </summary>
        public bool NoScript 
        {
            get { return noscript; }
            set { noscript = value; }
        }

        public string DataKey { get; set; }
        public string DataValue { get; set; }
        public object DataSource { get; set; }
        public object DataName { get; set; }

 

更多詳細的例子,請參看:https://github.com/linezero/HighchartsNET

 

感悟:

這個是在去年的這個時候折騰的,今天公布出來,只是為了讓大家更方便的去實現所需要的圖表,節省代碼時間,遠離加班。

 

如果你有什么建議,或者bug 請到 https://github.com/linezero/HighchartsNET/issues 提交。

 

如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM