图表转换

Js

  1 // 图表转换方法:用于切换图与表。
  2     var init = false;
  3     function toggle(){
  4         if ($("#container").is(":hidden")) {
  5             $("#container").show();
  6             $("#refshbtn").show();
  7             $("#prm_div").show();
  8             $("#report_ui").hide();
  9             $("#tb").hide();
 10             updateChartData();
 11             f();
 12         }else {
 13             $("#container").hide();
 14             $("#refshbtn").hide();
 15             $("#prm_div").hide();
 16             $("#report_ui").show();
 17             $("#tb").show();
 18             if (!init) {
 19                 $(‘#tt‘).datagrid({view:myview,rownumbers:true,
 20                     singleSelect:true,
 21                     toolbar: ‘#tb‘,
 22                     onClickRow: onClickRow});
 23                 init = true;
 24             }
 25             $("#tt").datagrid(‘resize‘, {
 26                 width: $(document.body)[0].clientWidth
 27             });
 28             f();
 29         }
 30     }
 31    // 更新图表数据方法:  把编辑表之后的数据更新到图上。
 32     function updateChartData() {
 33         var series = $(‘#${divId}‘).highcharts().series;
 34         var data = $("#tt").datagrid("getData").rows;
 35         <s:iterator var="item" value="#request.chartsVO.series" status="status">
 36             var id = ‘${item.id}‘;
 37             var dataAry = new Array();
 38             for (var j = 0; j < data.length; j++) {
 39                 var childAry = new Array();
 40                 <s:if test="%{#request.chartsVO.xaxisVO.xaxisType == ‘datetime‘}">
 41                 if(data[j][id]==""){
 42                     childAry.push(parseInt(data[j].RQ), null);
 43                 }else{
 44                     childAry.push(parseInt(data[j].RQ), parseFloat(data[j][id]));
 45                 }
 46
 47                 </s:if>
 48                 <s:if test="%{#request.chartsVO.xaxisVO.xaxisType == ‘category‘}">
 49                 if(data[j][id]==""){
 50                     childAry.push(data[j].RQ,null);
 51                 }else{
 52                     childAry.push(data[j].RQ, parseFloat(data[j][id]));
 53                 }
 54                 </s:if>
 55                 dataAry.push(childAry);
 56             }
 57             series[${status.index}].setData(dataAry, true);
 58         </s:iterator>
 59         $(‘#${divId}‘).highcharts().reflow();
 60     }
 61     //指标参数选择,刷新曲线图的方法。
 62     function checkDateToBack(){
 63
 64             if($(".btn1").filter(":checked").length==0){
 65                 alert("指标参数不能为空,请勾选!");
 66             }else{
 67                 $("#cx").attr("action","${pageContext.request.contextPath}/iwell.disposition.monitor_1.0/show_charts.action?jh=${chartsVO.jh }&wellType=${chartsVO.wellType }&queryCategory=${chartsVO.queryCategory }&begRq=${begRq}&endRq=${endRq}");
 68                 $("#cx").submit();
 69             }
 70     }
 71     //结束编辑。
 72     var editIndex = undefined;
 73     function endEditing(){
 74         if (editIndex == undefined){return true}
 75         if ($(‘#tt‘).datagrid(‘validateRow‘, editIndex)){
 76
 77             $(‘#tt‘).datagrid(‘endEdit‘, editIndex);
 78             editIndex = undefined;
 79             return true;
 80         } else {
 81             return false;
 82         }
 83     }
 84     //编辑方法,点击一行对表数据进行编辑。
 85     function onClickRow(index){
 86         if (editIndex != index){
 87             if (endEditing()){
 88                 $(‘#tt‘).datagrid(‘selectRow‘, index)
 89                         .datagrid(‘beginEdit‘, index);
 90                 editIndex = index;
 91             } else {
 92                 $(‘#tt‘).datagrid(‘selectRow‘, editIndex);
 93             }
 94         }
 95     }
 96     //保存.对表编辑后的数据保存
 97     function accept(){
 98         if (endEditing()){
 99             $(‘#tt‘).datagrid(‘acceptChanges‘);
100         }
101     }
102     //撤销
103     function reject(){
104         $(‘#tt‘).datagrid(‘rejectChanges‘);
105         editIndex = undefined;
106     }
107     function f() {
108         parent.window.setWinHeight(parent.window.document.getElementById("frame_${queryCategory}"));
109     }
110     var win_height, interval, cnt = 0;
111     function dif() {
112         var cur_height = document.body.offsetHeight;
113         if (cur_height != win_height || cnt > 10) {
114             clearInterval(interval);
115             f();
116         }
117         cnt++;
118     }
119     var myview = $.extend({},$.fn.datagrid.defaults.view,{
120         onBeforeRender:function(target){
121             win_height = document.body.offsetHeight;
122             interval = setInterval("dif()",1000);
123         }
124     });
125   </script>
<!--图表转换按钮、 指标参数栏、 绘制曲线图的容器 -->
	<div align="left">
	<span><a href="javascript:checkDateToBack();void(0);" id="refshbtn" class="fmbutton">刷新曲线图</a></span>
	<span><a href="javascript:void(0);" id="ss" class="fmbutton" onclick="toggle()">图表转换</a></span>
	</div>
	<div id="prm_div" style="font-size: 12px;" align="left">
		<form id="cx"  method="post">
			<s:iterator var="item" value="#request.optionPrm" status="status">
				<span><input class="btn1" type="checkbox" name="checkPrm" onclick="checkDateToBack()" style="margin: 3px 1px 0px 3px;" value="${item.id }" ${item.checked } />${item.text }</span>
			</s:iterator>
		</form>
	</div>
	<div id="container" style="min-width: 300px; height: ${divHeight}px; margin: 0 auto"></div>
	<!-- 表 -->
	<div id="tb" style="height:auto; display:none;">
	 <a href="javascript:void(0);" class="easyui-linkbutton"  data-options="iconCls:‘icon-save‘,plain:true" onclick="accept()">确定</a>
	 <a href="javascript:void(0);" class="easyui-linkbutton"  data-options="iconCls:‘icon-undo‘,plain:true" onclick="reject()">撤销</a>
	 <s:if test=‘#request.queryCategory=="R"‘>
	 <a href="javascript:void(0);" class="easyui-linkbutton"  data-options="iconCls:‘icon-redo‘,plain:true" onclick="exportExcel(‘${pageContext.request.contextPath}‘,‘tt‘,‘${jh}井的日度曲线.xls‘)">导出Excel</a>
	 </s:if>
	 <s:else>
	 <a href="javascript:void(0);" class="easyui-linkbutton"  data-options="iconCls:‘icon-redo‘,plain:true" onclick="exportExcel(‘${pageContext.request.contextPath}‘,‘tt‘,‘${jh}井的月度曲线.xls‘)">导出Excel</a>
	 </s:else>
	</div>
	<div id="report_ui"  style="width:100%; height:auto; margin: 0 auto; display:none;">
	     <table id="tt" style="width:100%;height:auto;">
	     </table>
	</div>
时间: 2024-10-11 06:43:11

图表转换的相关文章

jQuery HighchartsTableHTML表格转Highcharts图表插件

版权申明jQuery HighchartsTable 由 PMSIpilot 创建,中文使用文档由Highcharts中文网发布本文由Theo.红烧鸡翅膀.Mr.Zhang 翻译整理,版权归Highcharts中文网所有,除非得到允许,不允许以任何形式转载! 一.关于(About) 1.简介 HighchartsTable是一款基于jQuery编写的HTML表格转换Highcharts图表的插件.利用它,你只需要关注HTML表格配置即可创建Highcharts图表! 2.运行原理 Highcha

如何在excel中生成时间进度表——甘特图

最近学习软件工程需要做一个工程进度图.小小问题尽挡我数时,不服,终克之,辟一生路.在这与众友分享之. 具体步骤如下: 1.首先我们在excel中建一含有时间段的数据表. 2.选中包含时间段的属性列以及纵坐标属性列,如: 3.从菜单栏中选中插入-->条形图-->二维条形图-->堆积条形图,如 4.将生产的图表转换成图二形式.通过在图表区单击右键选择选择数据进入图二中选择数据源窗口,然后单击切换行/列得到图二所示.同时,将选择数据源中相应的行列属性名改为excel表中所示以确保同属性名(有利

jfreechart的使用案例

一:下载需要的2个jar文件 jcommon-版本号.jar,jfreechart-版本号.jar,注意版本不要太高. 实例一:比较简单的application版本的饼图 1 /** 2 * 3 */ 4 package com.hlcui.jfreechart; 5 6 import java.awt.Font; 7 8 import org.jfree.chart.ChartFactory; 9 import org.jfree.chart.ChartFrame; 10 import org

elasticsearch linux下安装及head插件

/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ 安装和学习可参照官方文档: 1, 安装 # 下载, 获取不成功可直接从官网下载 curl -L -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar.

(转)JS报表控件highcharts应用

1. 官网地址 http://www.highcharts.com/ 2. 版权信息源码修改方法 在 highcharts.js 中打到 credits 将其中的 enabled 属性由 true 改为 false.如果是经过压缩后的代码,则是由 !0 改为 0. 3. 官方学习示例地址 http://www.highcharts.com/studies/ 4. 官方API http://api.highcharts.com/highcharts 5. 常用参数配置说明 chart.events

那些年,我追过的绘图工具

https://zhuanlan.zhihu.com/p/19900327 ***************************** 文档能力是一个工程师必不可少的基础能力,而高质量的文档往往伴随着高质量的图表."A picture is worth a thousand words",复杂的概念,逻辑,想法往往能够用图表清晰而生动地表达.一张好的图表离不开制作人的大脑对思维的描述,但同样离不开制作人所使用的工具.好的工具,让同样的事情事半功倍.我是一个工具爱好者,即便手头上有一个称

Highcharts教程2

参数配置(属性+事件) chart.events.addSeries:添加数列到图表中. chart.events.click:整个图表的绘图区上所发生的点击事件. chart.events.load:图表加载事件. chart.events.redraw:图表重画事件,当点击图注显示和隐藏绘图时可以触发. chart.events.selection:当图表曲线可选择放大时,当选择图表操作时,可以触发该事件. chart.height:所绘制图表的高度值. chart.inverted:图表中

导出网页内容

折腾了一天的导出报表工作,最终还是用了jspdf插件,路程虽为坎坷,但是学习了不少. 首先,页面中有表格,有echart图表,初步尝试jspdf 导出会有部分缺失,失败了.考虑用 window.print(),虽然原始,但是很好用. 优点:1.有滚动条,滚动条以下内容也可打印. 2.打印出来排版正常,样式不会丢失. 缺点:eachart 图表,没能被打印.(样例代码如下) <html> <head> <title>div print</title> <

Elasticsearch 5.5.1-head插件安装

elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作.可以通过插件把它集成到ES(首选方式),也可以安装成一个独立WebApp. elasticsearch-head主要有三个方面的操作: 显示集群的拓扑,并且能够执行索引和节点级别操作 搜索接口能够查询集群中原始JSON或表格格式的检索数据 能够快速访问并显示集群的状态 有一个输入窗口,允许任意调用RESTful API.这个接口包含几个选项,可以组合在一起以产生有趣的结果 请求方法(get.put.p