亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用c#+jquery+echarts生成統計報表(附源代碼)

2019-11-17 01:35:01
字體:
來源:轉載
供稿:網友

利用c#+jquery+echarts生成統計報表(附源代碼)

背景:

因為最近項目要生成報表,經過幾輪挑選,最終選擇了百度的echarts作為報表基礎類庫。百度echarts簡介請參考http://echarts.baidu.com/雖然echarts功能強大,界面優美,

但是使用起來非常繁瑣。本文在參考星星之火116寫的“Echarts使用心得總結”基礎上,進一步對JS進行封裝。使得其更具有通用性。

(1)解決方案布局

整個解決方案如下圖(VS2010+.NET4.0)。

唯一需要說明的是javascript文件夾下的JS庫,其中jquery-1.8.3是juqery庫。 echarts是百度echarts庫。MyEcharts.js是在“星星之火”代碼的基礎上修改的自定義類庫。

WapCharts.js是自定義的JS庫。

(2)建立數據庫

報表數據通常都是從數據庫里獲取,這里我們使用了微軟SQLCE一個桌面版數據庫。打開lists表,其中數據如下

(3)讀寫數據

bin文件夾引入System.Data.SqlServerCe.dll。然后完全可以類似讀寫MSSQL數據庫一樣,完成對CE數據庫的讀寫。

其中,需要注意CE數據庫連接的寫法,因為CE數據庫是一個本地數據庫,所以,直接用Data Source制定sdf的具體地址即可。

 string con = @"Data Source='" + System.Web.HttpContext.Current.Server.MapPath("~/app_data/chartdb.sdf") + "'";

下面代碼顯示了如何獲取餅形數據。

    public void GetPie(HttpContext context)        {            string sql = @"  select categoryname as name, count(*) as count from lists group by categoryname";            ds = GetData(sql);                       lists = new List<object>();             foreach (DataRow dr in ds.Tables[0].Rows)            {                var obj = new { name = dr["name"], value = dr["count"] };                lists.Add(obj);             }             jsS = new JavascriptSerializer();             result = jsS.Serialize(lists);             context.Response.Write(result);                }     public DataSet GetData(string sql)    {         ds = new DataSet();        da = new SqlCeDataAdapter(sql, con);        da.Fill(ds);        return ds;        }         

在上面代碼里,使用了

jsS = new JavaScriptSerializer();

用于把數據序列號為JSON。

這樣如果瀏覽handler.ashx,通過傳遞cmd不同的參數,就可以返回不同的JSON數據

(4)生成pie報表(餅形圖)

echarts需要一個容器來存放數據,通常,會是一個div,所以,我們定義一個div

     <div id="echart" style="width:100%; height:400px;"></div>

我們需要在JQuery的ready事件里,調用數據庫數據,并在回調函數里,調用DrawPie生產餅形圖。

DrawPie第一個參數是回調值,第二個參數是div的id。

Ajax的async設置為false是因為需要同步調用。

         <script type="text/javascript">           $(document).ready(           function () {                            $.ajax({                  url: "ajax/Handler.ashx",                  data:{cmd:"pie"},                  cache: false,                  async: false,                  dataType: 'json',                  success: function (data) {                      if (data) {                          DrawPie(data,"echart");                      }                  },                  error: function (msg) {                      alert("系統發生錯誤");                  }              });          });                                 </script>

這樣,就完成了pie報表的生成。

(5)生成bar圖形(柱狀圖)

要生成bar圖像,只要修改2處即可:(1)ajax傳遞參數cmd為bar。(2)回調返回DrawBar。

     <div id="echart" style="width:100%; height:400px;"></div>          <script type="text/javascript">             $(document).ready(          function () {              $.ajax({                  url: "ajax/Handler.ashx",                  data: { cmd: "bar" },                  cache: false,                  async: false,                  dataType: 'json',                  success: function (data) {                      if (data) {                          DrawBar(data, "echart");                      }                  },                  error: function (msg) {                      alert("系統發生錯誤");                  }              });          });                                 </script>

(6)運行效果

你可以下載源代碼,運行看到效果(一個是bar.aspx頁面,一個是pie.aspx頁面)

(7)后續

到此已經完成了圖形設計,通過調用DrawBar或者DrawPie方法,就可以生產了報表,你可以進一步對其進行包裝為用戶控件,方便使用

(8)源代碼

單擊此處下載本文源代碼 http://files.VEVb.com/mqingqing123/echartsDemo.rar


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品极品尤物在线观看| 色妞色视频一区二区三区四区| 欧美日韩日本国产| 最近中文字幕2019免费| 欧美在线视频免费观看| 精品国偷自产在线视频| 欧美高清一级大片| 日韩欧美在线字幕| 欧美成人午夜免费视在线看片| 日韩欧美成人免费视频| 91社区国产高清| 日韩精品极品在线观看播放免费视频| 国产深夜精品福利| 欧美在线视频在线播放完整版免费观看| www.日韩视频| 黄色精品在线看| 亚洲欧洲在线观看| 狠狠干狠狠久久| 亚洲综合中文字幕在线观看| 国外成人在线视频| 丝袜美腿精品国产二区| 91精品国产777在线观看| www.色综合| 日韩亚洲综合在线| 国产精品扒开腿做| 中文字幕久久亚洲| 亚洲综合在线中文字幕| 欧美性感美女h网站在线观看免费| 91在线免费看网站| 91免费看片在线| 中文字幕日韩av电影| 国产精品户外野外| 欧美国产中文字幕| 国产精品老牛影院在线观看| 欧美性猛交xxxx乱大交蜜桃| 国产视频精品久久久| 亚洲qvod图片区电影| 91在线无精精品一区二区| 国产精品日本精品| 国模精品系列视频| 欧美精品久久久久a| 国产成人一区二区三区电影| 欧美一区第一页| 亚洲大胆美女视频| 欧美体内谢she精2性欧美| 亚洲丝袜av一区| 欧美大片欧美激情性色a∨久久| 日韩精品高清在线观看| 欧美日韩国产成人高清视频| 精品久久久久久中文字幕| 国产精品麻豆va在线播放| 国产成人亚洲综合91| 91在线观看免费高清| 日韩在线不卡视频| 成人激情电影一区二区| 日韩精品在线影院| 国产偷国产偷亚洲清高网站| 一区二区三区亚洲| 亚洲日韩欧美视频一区| 日韩欧美国产中文字幕| 精品偷拍一区二区三区在线看| 久久国产精品久久久久久久久久| 国产女人18毛片水18精品| 性欧美在线看片a免费观看| 激情亚洲一区二区三区四区| 欧美激情一区二区三区成人| 中文字幕免费精品一区| 日本精品免费一区二区三区| 亚洲二区在线播放视频| 国产一区二区三区在线播放免费观看| 久久久中精品2020中文| 26uuu另类亚洲欧美日本一| 一区二区三区日韩在线| 亚洲国产日韩欧美综合久久| 国产精品欧美日韩久久| 国产精品日韩欧美综合| 97精品一区二区视频在线观看| 欧美黄色免费网站| 中文字幕亚洲天堂| 精品久久久久久久久久ntr影视| 亚洲成av人乱码色午夜| 国产精品青草久久久久福利99| 欧美中文在线免费| 中文字幕日韩免费视频| 久久成人精品一区二区三区| 成人h视频在线观看播放| 欧美黑人视频一区| 欧美裸体视频网站| 成人疯狂猛交xxx| 茄子视频成人在线| 91免费综合在线| 国产精品第一区| xxx成人少妇69| 国产一区二区黑人欧美xxxx| 成人写真视频福利网| 欧美精品18videos性欧美| www高清在线视频日韩欧美| 亚洲国产精品va在线观看黑人| 91sa在线看| 亚洲精品福利免费在线观看| 国产精品第8页| 国产精品久久久91| 91久久国产综合久久91精品网站| 久久综合免费视频影院| 欧美日韩国产精品一区二区三区四区| 日韩精品免费一线在线观看| 一本大道亚洲视频| 欧美性受xxxx黑人猛交| 福利微拍一区二区| 久国内精品在线| 成人免费福利在线| 久久成人亚洲精品| 91久久在线观看| 久久99久国产精品黄毛片入口| 国产mv久久久| 中文字幕亚洲一区| 中文字幕精品www乱入免费视频| 日韩成人在线视频观看| 日本老师69xxx| 精品无码久久久久久国产| 国产精品91免费在线| 亚洲精品v天堂中文字幕| 永久免费看mv网站入口亚洲| 亚洲欧洲日本专区| 91精品久久久久久久久| 久久久久久久久久久91| 不卡在线观看电视剧完整版| 亚洲综合日韩中文字幕v在线| 国产97在线|日韩| www.日韩视频| 色99之美女主播在线视频| 欧美日韩国产成人| 亚洲黄一区二区| 欧美老女人bb| 国产精品视频久久久久| 亚洲新中文字幕| 精品国产鲁一鲁一区二区张丽| 北条麻妃一区二区三区中文字幕| 最近免费中文字幕视频2019| 7777精品视频| 国产精品成人v| 国产精品视频自拍| 国产精品永久在线| 亚洲国产精品嫩草影院久久| 欧美肥老太性生活视频| 欧美激情中文字幕乱码免费| 欧美精品做受xxx性少妇| 国产主播喷水一区二区| 久久久久久久国产精品视频| 日韩一中文字幕| 亚洲一区中文字幕| 国产欧美日韩精品专区| 亚洲日本aⅴ片在线观看香蕉| 国产91精品在线播放| 欧美激情女人20p| 国产精品美女久久久久av超清| 日韩在线视频线视频免费网站| 久久久久久久久网站| 亚洲欧美综合另类中字| 国产精品白嫩初高中害羞小美女| 久久69精品久久久久久国产越南| 欧美成人精品三级在线观看| 日韩精品中文字幕在线播放| 久久久久久高潮国产精品视|