zoukankan      html  css  js  c++  java
  • 图表转换

    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                  $(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- 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>
    
    _____________________________________________________________________________________________________ ***************************************************************************************************************** ===坚持、奋斗***今天的努力只为更好的明天***奋斗、坚持===********************** ==========================================================================================
  • 相关阅读:
    面象对象设计原则之七:合成复用原则(Composition/Aggregate Reuse Principle, CARP)
    GRASP软件设计的模式和原则
    UniDAC 安装教程
    Delphi 实现检测线程类TThread是否结束
    DELPHI线程例子-FC
    Delphi Stringlist Delimiter如何区分TAB和空格
    DBGrid1
    UTF-8 delphi 函数
    未测试 Delphi读写UTF-8、Unicode格式文本文件
    mysql + unidac 使用事务例子
  • 原文地址:https://www.cnblogs.com/mlloc-clove/p/3978761.html
Copyright © 2011-2022 走看看