润乾报表统计图模态窗口传递单元格值

想在统计图中做一个模态窗口,就是点击统计图中的柱子,然后超链接超另外一个报表并且把单元格的值(参数)传递过去。控制另外一个报表的大小。

做一个报表文件,带统计图,这里不做解释。

润乾报表统计图模态窗口传递单元格值_第1张图片

润乾报表统计图模态窗口传递单元格值_第2张图片

在统计图中设置了好了个各个属性之后,现在需要在报表展现页面添加代码(红色部分),首先需要获取到需要传递的单元格的值。下面是报表展现页面代码

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/WEB-INF/runqianReport4.tld" prefix="report" %>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="com.runqian.report4.usermodel.Context"%>





<%
request.setCharacterEncoding( "GBK" );
String report = request.getParameter( "raq" );
String reportFileHome=Context.getInitCtx().getMainDir();
StringBuffer param=new StringBuffer();

//保证报表名称的完整性
int iTmp = 0;
if( (iTmp = report.lastIndexOf(".raq")) <= 0 ){
report = report + ".raq";
iTmp = 0;
}

Enumeration paramNames = request.getParameterNames();
if(paramNames!=null){
while(paramNames.hasMoreElements()){
String paramName = (String) paramNames.nextElement();
String paramValue=request.getParameter(paramName);
if(paramValue!=null){
//把参数拼成name=value;name2=value2;.....的形式
param.append(paramName).append("=").append(paramValue).append(";");
}
}
}


//以下代码是检测这个报表是否有相应的参数模板
String paramFile = report.substring(0,iTmp)+"_arg.raq";
File f=new File(application.getRealPath(reportFileHome+ File.separator +paramFile));


%>


<% //如果参数模板存在,则显示参数模板
if( f.exists() ) {
%>


<% }%>


funcBarLocation="top"
needPageMark="yes"
generateParamForm="no"
excelFormat="2007"
generateCellId="yes" 
params="<%=param.toString()%>"
exceptionPage="/reportJsp/myError2.jsp"
appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar,appletPath.jar"




/>



needSubmit="no"
params="<%=param.toString()%>"

/>









下面还需要做一个模态出口的jsp文件,保存为showModal.jsp

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/WEB-INF/runqianReport4.tld" prefix="report" %>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>