echart实现数据库取值绘制三种类型的图
2017-07-13 15:11
309 查看
1.柱状图后台代码
public void getBar() { DataTable dt1 = null; var result1 = new object(); string sqlstring1 = "select description as categoryList1,sales from testEChart where type='bar'"; dt1 = DbHelperSQL.Query(sqlstring1); List<string> categoryList1 = new List<string>(); List<object> seriesList1 = new List<object>(); foreach (DataRow dr in dt1.Rows) { categoryList1.Add(dr[0].ToString()); seriesList1.Add(dr[1]); } var obj = new { category = categoryList1, series = seriesList1, }; ContextResponse(obj); }前台代码
$(document).ready(function () {/*************************************************柱状图************************************************/ var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { title: { text: '数据库连接测试' }, tooltip: {}, legend:{ data: ["销量"] }, xAxis: { //url: "../AjaxTools/Chart.ashx?method=getData", type: 'category', data: null }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: null }] }; myChart.setOption(option); var options = myChart.getOption(); $.ajax({ type: "post",async: false, //同步执行 url: "../AjaxTools/Chart.ashx?method=getBar", dataType: "json", //返回数据形式为json success: function (result) { if (result) { //将返回的category和series对象赋值给options对象内的category和series //因为xAxis是一个数组 这里需要是xAxis[i]的形式 options.xAxis[0].data = result.category;options.series[0].data = result.series; // options.legend.data = result.legend; myChart.setOption(options); // myChart.refresh(); // $.messager.alert('Warning', result); console.info(result); } }, error: function (errorMsg) { alert("图表数据加载失败!"); } });})2.折线图后台代码:
#region 折线图public void getLine(){DataTable dt = null;var result = new object();string sqlstring = "select description as categoryList,thisyear as seriesList1,lastyear as seriesList2from testline where type='line'";dt = DbHelperSQL.Query(sqlstring);List<string> categoryList1 = new List<string>();List<object> seriesList1 = new List<object>();List<object> seriesList2 = new List<object>();foreach (DataRow dr in dt.Rows){categoryList1.Add(dr[0].ToString());seriesList1.Add(dr[1]);seriesList2.Add(dr[2]);}// var json1 = JsonConvert.SerializeObject(se);var obj = new{category = categoryList1,series1 = seriesList1,series2 = seriesList2};//var json1 = JsonConvert.SerializeObject(obj);ContextResponse(obj);}#endregion前台代码
$(document).ready(function () { /*************************************************折线图************************************************/ var myChart1 = echarts.init(document.getElementById('p')); var option1 = { title: { text: '折线图' }, tooltip: { trigger: 'axis' }, legend: { data: ["今年能耗", "去年能耗"] }, toolbox: { show: true, feature: { mark: { show: false }, dataView: { show: false, readOnly: false }, magicType: { show: true, type: ['line', 'bar'] }, restore: { show: true }, saveAsImage: { show: true } } }, grid: { x: 60, y: 30, x2: 5, y2: 30 }, calculable: true, xAxis: [ { type: 'category', data: null } ], yAxis: [ { type: 'value', axisLabel: { fomatter: "." }, splitArea: { show: true } } ], series: [{ name: "今年能耗", type: "line", data: null }, { name: "去年能耗", type: "line", data: null }] }; myChart1.setOption(option1); var options1 = myChart1.getOption(); $.ajax({ type: "post", async: false, //同步执行 url: "../AjaxTools/Chart.ashx?method=getLine", dataType: "json", //返回数据形式为json success: function (result) { if (result) { //将返回的category和series对象赋值给options对象内的category和series //因为xAxis是一个数组 这里需要是xAxis[i]的形式 options1.xAxis[0].data = result.category; options1.series[0].data = result.series1; options1.series[1].data = result.series2; myChart1.setOption(options1); console.info(result); } }, error: function (errorMsg) { alert("图表数据加载失败!"); } }); })3.饼图后台代码#region 饼图public void getPie(){DataTable dt = null;var result = new object();string sqlstring = "select sales as value, description as name from testEChart where type='pie'";dt = DbHelperSQL.Query(sqlstring);var json1 = JsonConvert.SerializeObject(dt);ContextResponse(json1);}#endregion前台代码
$(document).ready(function () {/*************************************************饼图************************************************/var myChart2 = echarts.init(document.getElementById('d'));var option2 = {series: [{name: '访问来源',type: 'pie',radius: '55%',data: null}]};myChart2.setOption(option2);var options2 = myChart2.getOption();$.ajax({type: "post",async: false, //同步执行url: "../AjaxTools/Chart.ashx?method=getPie",dataType: "json", //返回数据形式为jsonsuccess: function (result) {if (result) {console.info(result);var chart = eval(result);options2.series[0].data = chart;myChart2.setOption(options2);console.info(chart);}},error: function (errorMsg) {alert("图表数据加载失败!");}});})})
相关文章推荐
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- Struts2实现文件下载(读取数据库CLOB类型的CDA)
- 依赖注入的三种实现类型
- C/C++程序开发中实现信息隐藏的三种类型
- 基于JFinal的实现echart与数据库交互
- Winform开发框架中实现同时兼容多种数据库类型处理
- Winform开发框架中实现同时兼容多种数据库类型处理
- Atitit 软件采购与服务 实现的三种模式 企业软件V1.0模式=传统模式 1,定制开发类型, 主要特点为通用性差,需求独特。通常单项目价格高,多为政府采购或者垄断企业的大单。 2,标准产品轻
- C#使用DataSet Datatable更新数据库的三种实现方法
- 三种数据库中的时间类型函数例子
- C# 与数据库中字段类型 Int16(short), Int32(int), Int64(long)的取值范围、区别 。string长度
- C/C++程序开发中实现信息隐藏的三种类型
- Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持-伍华聪
- infopath表单中涉及从数据库中取值的函数实现
- [C#]实现任何数据库类型的DbHelper帮助类
- 【转】C#使用DataSet Datatable更新数据库的三种实现方法
- 采用struts2+hibernate实现保存文件到Oracle数据库&&并附下载代码【导入即可用】;数据库中保存blob类型的二进制文件
- Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持
- java实现三种数据库连接完整的demo
- oracle实现读取文件,将文件用clob类型存入数据库