关于highcharts动态获取数据做报表
来源:互联网 发布:mac游戏不能全屏 编辑:程序博客网 时间:2024/05/16 12:05
首先,这是我第一次写博客;其次,我也不是大牛。
最近要做报表,我们总监说要用highcharts,就在网上搜了搜关于highcharts的一些列子,看了看api以及基本的组成和结构。
要用到的jar包可以在如下地址下载:http://pan.baidu.com/s/1o6NodRk (百度网盘)
折线图。代码如下:
//定义图表的名称
var downloadAppClomunOptions;
//新图表的名称
var downloadAppClomun;
$(document).ready(function() {
downloadAppClomun();
getDownloadAppData();
});
==========================这个是调用api的时候会等待很久,做了一个loading效果,更人性化点。==============================================
/**
* loading 效果
*/
function ajaxLoading(){
$("<div class=\"datagrid-mask\"></div>").css({display:"block",width:"100%",height:$(window).height()}).appendTo("body");
$("<div class=\"datagrid-mask-msg\"></div>").html("玩命加载中,请稍候。。。。。。。").appendTo("body").css({display:"block",left:($(document.body).outerWidth(true) - 190) / 2,top:($(window).height() - 45) / 2});
}
function ajaxLoadEnd(){
$(".datagrid-mask").remove();
$(".datagrid-mask-msg").remove();
}
var params = {};
function getDownloadAppData() {
//这里是对时间的判断
var beginDate = new Date(document.getElementById("brokerOnlineStartDate").value.replace(/-/g, "/"));
var endDate = new Date(document.getElementById("brokerOnlineEndDate").value.replace(/-/g, "/"));
if (beginDate > endDate) {
alert("开始日期不能大于结束日期,请重新选择!");
return false;
} else {
if ($("#brokerOnlineStartDate").val()) {
params.startDate = $("#brokerOnlineStartDate").val();
} else {
params.startDate = -1;
}
if ($("#brokerOnlineEndDate").val()) {
params.endDate = $("#brokerOnlineEndDate").val();
} else {
params.endDate = -1;
}
$.ajax({
url : "/proxy/api/oss/detail/period/onlineoverview/2/"+ params.startDate + "/" + params.endDate + "/token", //调用api
type : "get",
dataType : "json",
beforeSend:ajaxLoading,
//回调函数 获取api的json数据
success : function(delData) {
ajaxLoadEnd();
if (delData.ret == 0) {
var time = [];//根据api返回的json数据定义的数组变量
var online = [];
var avg = [];
var max = [];
//循环出json数据的每个数据
for (var b = 0; b < delData.data.pers.length; b++) {
//给定义的变量赋值;
time.push(delData.data.pers[b].per);
online.push(delData.data.pers[b].ol);
avg.push(delData.data.pers[b].ag);
max.push(delData.data.pers[b].mol);
downloadAppClomunOption.xAxis.categories=time; //给x轴赋值
//获取数据,填充到series,绘出图表
downloadAppClomunOptions.series = [ {
"name" : "在线",
"data" : online
}, {
"name" : "平均",
"data" : avg
}, {
"name" : "最高",
"data" : max
} ];
// 初始化图表,为downloadAppClomun重绘图表;
downloadAppClomun = $('#downloadAppClomun').highcharts(downloadAppClomunOptions);
}
} else {
$.messager.alert("系统提示", "获取用户在线数据失败:" + delData.msg, "error");
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$.messager.alert("系统提示", "获取数据失败:" + textStatus, "error");
}
});
}
}
/**
* 初始化在线柱状图
*/
function downloadAppClomun() {
downloadAppClomunOptions = {
chart : {
height : 400
},
title : {
text : '用户在线信息',
x : -20
// center
},
subtitle : {
text : '',
x : -20
},
xAxis : {
title : {
text : "时间段(点)",
align : 'high'
},
categories : [ '0-6', '6-9', '9-11', '11-14', '14-16', '16-20',
'20-22', '22-24' ]
},
yAxis : {
title : {
text : '数量'
}
},
tooltip : {
enabled : false,
formatter : function() {
return '<b>' + this.series.name + '</b><br/>' + this.x + ': '
+ this.y + '°C';
}
},
plotOptions : {
line : {
dataLabels : {
enabled : true
},
enableMouseTracking : false
}
},
series : []
};
}
api返回的json格式如下:
{"ret":0,"msg":"OK","data":{"perStr":"2014-10-28到2014-11-04","pers":[{"per":"0-6","ol":2,"ag":0,"mol"
:1},{"per":"6-9","ol":5,"ag":0,"mol":2},{"per":"9-11","ol":52,"ag":6,"mol":11},{"per":"11-14","ol":44
,"ag":5,"mol":12},{"per":"14-16","ol":50,"ag":6,"mol":14},{"per":"16-20","ol":56,"ag":7,"mol":14},{"per"
:"20-22","ol":10,"ag":1,"mol":3}]}}
页面代码:
<%@ page contentType="text/html; charset=UTF-8"%>
<link rel="stylesheet" type="text/css"
href="/oss-portlet/css/easyui.css">
<link rel="stylesheet" type="text/css" href="/oss-portlet/css/icon.css">
<link rel="stylesheet" type="text/css" href="/oss-portlet/css/demo.css">
<script type="text/javascript"
src="/html/js/jquery-easyui-1.3.6/jquery.min.js"></script>
<script type="text/javascript"
src="/html/js/Highcharts-4.0.3/js/highcharts.js"></script>
<script type="text/javascript"
src="/oss-portlet/html/postreport/BrokerOnline.js"></script>
<script type="text/javascript"
src="/html/js/jquery-easyui-1.3.6/jquery.easyui.min.js"></script>
<script type="text/javascript"
src="/html/js/My97DatePicker/WdatePicker.js"></script>
<div style="width: 1000px; margin: auto;">
<!-- <div style="margin-left: 900px;">
<h3>请选择日期:</h3>
<input id="dd" type="text" class="easyui-datebox" required="required"></input>
</div> -->
<div id="p" class="easyui-panel" title="请选择日期:"
style="width: 1000px; height: 120px; padding: 10px; background: #fafafa;"
data-options="iconCls:'icon-save',collapsible:true,collapsed:true">
<div style="margin: 20 auto auto 260;">
<table>
<tr>
<td align="center" style="font-size: 12px;">请选择日期:</td>
<td>
<input id="brokerOnlineStartDate" class="Wdate" type="text" onclick="WdatePicker()" placeholder="yyyy-MM-dd" />
</td>
<td align="center">至</td>
<td>
<input id="brokerOnlineEndDate" class="Wdate" type="text" onclick="WdatePicker()" placeholder="yyyy-MM-dd" />
</td>
<td><input type="button" value="确定" id="btn" onclick="getDownloadAppData()"></td>
</tr>
</table>
</div>
</div>
<div style="margin: 100 auto;">
<div id="downloadAppClomun" style="height: 400px;"></div>
</div>
</div>
- 关于highcharts动态获取数据做报表
- highcharts如何动态获取数据
- highcharts动态获取数据生成柱状图
- Highcharts axja 获取json对象动态生成报表生成
- Highcharts ajax获取json对象动态生成报表生成 .
- highcharts动态报表+Json用法
- highcharts click事件获取数据传给datagrid ,动态加载数据
- ASP.NET中动态获取数据使用Highcharts图表控件
- 使用 HighCharts 动态获取后台数据生成图表
- HighCharts动态数据刷新
- 动态更新highcharts数据
- highcharts异步获取数据
- highcharts异步获取数据
- highcharts做图形报表如何去掉highcharts.com
- highcharts做图形报表如何去掉highcharts.com
- highcharts做图形报表去掉highcharts.com的版权信息
- 做动态报表
- HighCharts动态显示数据实例
- java的URL类使用和模拟POST请求服务器
- Redis源码分析(三十)--- pubsub发布订阅模式
- 安装数据库后首次登陆报错的解决办法
- JAVA card 应用开发(三) 把APPLET(CAP文件)装载到卡片
- jsp+servlet+mysql员工管理系统源代码下载
- 关于highcharts动态获取数据做报表
- struts2 返回一个字符串
- NGUI之window窗体
- Android颜色小工具
- [Hibernate Search] (5) 解析和条件索引
- Eclipse 修改Web项目的发布名称
- 一个ajax的Post请求
- django 修改用户密码
- iBatis direct sql