【www.bbyears.com--php常用代码】
html代码
代码如下<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EchartDemo.aspx.cs" Inherits="AT.Web.Demo.EchartDemo" %>
<script src="../Themes/Scripts/jquery-1.8.2.min.js"></script>
<script src="../Themes/Scripts/FunctionJS.js" type="text/javascript"></script>
<script type="text/javascript">
//初始化
$(function () {
$("#table2").hide();
})
//点击切换面板
var IsFixedTableLoad = 1;
function panel(obj) {
if (obj == 1) {
$("#table1").show();
$("#table2").hide();
} else if (obj == 2) {
$("#table1").hide();
$("#table2").show();
}
}
</script>
<script src="../Themes/Scripts/echarts/echarts.js"></script>
<script src="../Themes/Scripts/echarts/theme/macarons.js"></script>
<script type="text/javascript">
var cityClick = "";
function GetUnitEnergy(unitName) {
GetCityEnergy(unitName, 2);
}
require.config({
paths: {
echarts: "../Themes/Scripts/echarts"
}
});
require(
[
"echarts",
"echarts/chart/bar",
"echarts/chart/line",
"echarts/chart/pie",
"echarts/chart/funnel"
],
DrawEChart //异步加载的回调函数绘制图表
);
var myEnergyChart;
var myReportChart;
//创建ECharts图表方法
function DrawEChart(ec) {
//--- 折柱 ---
myEnergyChart = ec.init(document.getElementById("divEnergy"), macarons);
//定义图表options
var options = {
title: {
text: "",
subtext: ""
},
/*color: ["#0099FF", "#00CC00", "#008080", "#CC6600", "#CC00CC", "#0033CC","#003300", "#FF0000"],*/
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: false }
}
},
grid: {
x: 60,
y: 30,
x2: 5,
y2: 30
},
calculable: true,
xAxis: [
{
type: "category",
data: [" "]
}
],
yAxis: [
{
type: "value",
axisLabel: {
fomatter: "."
},
splitArea: { show: true }
}
],
series: [{
name: " ",
type: "line",
data: [0]
}]
};
//选择一个空图表
myEnergyChart.setOption(options);
myReportChart = ec.init(document.getElementById("divReport"), macarons);
//选择一个空图表
myReportChart.setOption(options);
// 默认加载填报
GetReport("1");
// 默认加载省直
GetUnitEnergy("34");
}
///点击按钮获取图表数据采用ajax方式
function GetCityEnergy(cityCode, level) {
//获得图表的options对象
var options = myEnergyChart.getOption();
//通过Ajax获取数据
$.ajax({
type: "post",
async: false, //同步执行
url: "GetChartData.aspx?type=energyData",
dataType: "json", //返回数据形式为json
success: function (result) {
if (result) {
//将返回的category和series对象赋值给options对象内的category和series
//因为xAxis是一个数组 这里需要是xAxis[i]的形式
options.xAxis[0].data = result.category;
options.series = result.series;
options.legend.data = result.legend;
myEnergyChart.setOption(options);
myEnergyChart.refresh();
}
},
error: function (errorMsg) {
alert("图表数据加载失败!");
}
});
}
///点击按钮获取图表数据采用ajax方式
function GetReport(code) {
//获得图表的options对象
var options = myReportChart.getOption();
//通过Ajax获取数据
$.ajax({
type: "post",
async: false, //同步执行
url: "GetChartData.aspx?type=reportData",
dataType: "json", //返回数据形式为json
success: function (result) {
if (result) {
//将返回的category和series对象赋值给options对象内的category和series
//因为xAxis是一个数组 这里需要是xAxis[i]的形式
//myReportChart.clear();
options.xAxis[0].data = result.category;
options.series = result.series;
options.legend.data = result.legend;
myReportChart.setOption(options);
}
},
error: function (errorMsg) {
alert("图表数据加载失败!");
}
});
}
//初始加载图表数据
$(function () {
GetCityEnergy("", "");
GetUnitEnergy("");
});
</script>
asp.net代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetChartData.aspx.cs" Inherits="AT.Web.Demo.GetChartData" %>
asp.net后台组织数据代码:
代码如下using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AT.Web.Demo
{
public partial class GetChartData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string type = Request["type"];
if (!string.IsNullOrEmpty(type))
{
switch (type)
{
case "energyData":
GetEnergyDataAjaxData("", "");
break;
case "reportData":
GetReportDataAjaxData("");
break;
}
}
}
///
/// 获得数据且用Json格式数据返回
///
private void GetEnergyDataAjaxData(string level, string code)
{
//考虑到图表的category是字符串数组 这里定义一个string的List
List
//考虑到图表的series数据为一个对象数组 这里额外定义一个series的类
List
//考虑到Echarts图表需要设置legend内的data数组为series的name集合这里需要定义一个legend数组
List
DataTable dt = null;
using (SqlConnection con = new SqlConnection("Data Source=.;User ID=sa;Password=111111;Database=AT_DB;"))
{
string strSQL = "select top 12 * from T_EchartData1";
using (SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con))
{
DataSet ds = new DataSet();
adapter.Fill(ds);
dt = ds.Tables[0];
}
}
//htm = htm&(dt.Rows.Count+"条数据!");
//设置legend数组
legendList.Add("今年能耗"); //这里的名称必须和series的每一组series的name保持一致
legendList.Add("去年能耗"); //这里的名称必须和series的每一组series的name保持一致
Series thisSeriesObj = new Series();
thisSeriesObj.id = 0;
thisSeriesObj.name = "今年能耗";
thisSeriesObj.type = "line"; //线性图呈现
thisSeriesObj.data = new List