水晶报表里面为什么不能传参数值过去呢???紧急求救,在线等!!!100分!!! http://www.finereport.com/demo.jsp.htm 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /* * Create Date: 2004-8-14 11:06 * Create By: 李春雷 * purpose:设置水晶报表的查询参数(目前支持7个参数的查询,有用的参数为编号) */package com.infoearth.report; import com.crystaldecisions.report.web.viewer.*;import com.crystaldecisions.sdk.occa.report.data.*;import com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory; import com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2;import com.crystaldecisions.sdk.occa.report.reportsource.IReportSource;public class ReportInit { private IReportSource rptSource; private Fields fields; public ReportInit(){ rptSource = null; fields = null; } public IReportSource getRptsource(){ return rptSource; } public Fields getFields(){ return fields; } public boolean setReport(String fname,String rptID){ //获得查询条件 String FileName = fname + ".rpt"; String BH = rptID; String path = "report/"+FileName; //报表文件路径 try{ IReportSourceFactory2 rsf = new JPEReportSourceFactory(); java.util.Locale localetest = java.util.Locale.CHINA; rptSource = (IReportSource)rsf.createReportSource(path,localetest); fields = new Fields(); ParameterField pfield1 = new ParameterField(); //编号 ParameterField pfield2 = new ParameterField(); //单位 ParameterField pfield3 = new ParameterField(); //人 ParameterField pfield5 = new ParameterField(); //FIELD5 ParameterField pfield6 = new ParameterField(); //FIELD6 ParameterField pfield4_KSSJ = new ParameterField(); //开始时间 ParameterField pfield4_JSSJ = new ParameterField(); //结束时间 Values vals1 = new Values(); Values vals2 = new Values(); Values vals3 = new Values(); Values vals5 = new Values(); Values vals6 = new Values(); Values vals4_KSSJ = new Values(); Values vals4_JSSJ = new Values(); ParameterFieldDiscreteValue pfieldDV1 = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV2 = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV3 = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV5 = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV6 = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV4_KSSJ = new ParameterFieldDiscreteValue(); ParameterFieldDiscreteValue pfieldDV4_JSSJ = new ParameterFieldDiscreteValue(); //设置第一个参数:编号 pfield1.setReportName(""); pfield1.setName("BH"); pfieldDV1.setValue(BH); pfieldDV1.setDescription("编号"); vals1.add(pfieldDV1); pfield1.setCurrentValues(vals1); //设置第二个参数:单位部门 pfield2.setReportName(""); pfield2.setName("DW"); pfieldDV2.setValue(""); pfieldDV2.setDescription("发单部门"); vals2.add(pfieldDV2); pfield2.setCurrentValues(vals2); //设置第三个参数:人 pfield3.setReportName(""); pfield3.setName("REN"); pfieldDV3.setValue(""); pfieldDV3.setDescription("申请人、下达人、操作人、负责人等"); vals3.add(pfieldDV3); pfield3.setCurrentValues(vals3); //设置第五个查询字段 pfield5.setReportName(""); pfield5.setName("FIELD5"); pfieldDV5.setValue(""); pfieldDV5.setDescription("查询字段5:任务来源线路名称等"); vals5.add(pfieldDV5); pfield5.setCurrentValues(vals5); //设置第六个查询字段 pfield6.setReportName(""); pfield6.setName("FIELD6"); pfieldDV6.setValue(""); pfieldDV6.setDescription("查询字段6:更改原因、工作内容等"); vals6.add(pfieldDV6); pfield6.setCurrentValues(vals6); //设置开始时间 pfield4_KSSJ.setReportName(""); pfield4_KSSJ.setName("KSSJ"); pfieldDV4_KSSJ.setValue(""); pfieldDV4_KSSJ.setDescription("开始时间"); vals4_KSSJ.add(pfieldDV4_KSSJ); pfield4_KSSJ.setCurrentValues(vals4_KSSJ); //设置结束时间 pfield4_JSSJ.setReportName(""); pfield4_JSSJ.setName("JSSJ"); pfieldDV4_JSSJ.setValue(""); pfieldDV4_JSSJ.setDescription("结束时间"); vals4_JSSJ.add(pfieldDV4_JSSJ); pfield4_JSSJ.setCurrentValues(vals4_JSSJ); //参数字段和报表关联 fields.add(pfield1); fields.add(pfield2); fields.add(pfield3); fields.add(pfield5); fields.add(pfield6); fields.add(pfield4_KSSJ); fields.add(pfield4_JSSJ); return true; } catch(Exception e){ System.out.println("Class:ReportInit错误:"+e); return false; } } } 解决了吗?在 crv.setParameterFields(fields);之前加上 viewer.setEnableParameterPrompt(false);试试 jsp开发网站,求指教啊********!!! jsp简单的调用servlet 求jsp使用dtree的例子 移植j2ee开发的网站时出现的奇怪问题…… 请问怎样在文件中查找某个关键字,并替换它?在线等待。 请问一个关于TOMCAT的菜鸟问题 Servlet如何向html传递数据? 求Java富客户端程序内嵌HTML5浏览器方案 关于session的问题? 网页中怎么实现在edit内按enter键变成是tab的结果 小弟是个菜鸟~~~刚刚学习Java~~~想向各位大侠资询点东西~~~进者有分呀~~!! 请问这是什么错误??????????????
* Create Date: 2004-8-14 11:06
* Create By: 李春雷
* purpose:设置水晶报表的查询参数(目前支持7个参数的查询,有用的参数为编号)
*/
package com.infoearth.report;
import com.crystaldecisions.report.web.viewer.*;
import com.crystaldecisions.sdk.occa.report.data.*;
import com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory;
import com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2;
import com.crystaldecisions.sdk.occa.report.reportsource.IReportSource;public class ReportInit
{
private IReportSource rptSource;
private Fields fields;
public ReportInit(){
rptSource = null;
fields = null;
}
public IReportSource getRptsource(){
return rptSource;
}
public Fields getFields(){
return fields;
}
public boolean setReport(String fname,String rptID){
//获得查询条件
String FileName = fname + ".rpt";
String BH = rptID;
String path = "report/"+FileName; //报表文件路径
try{
IReportSourceFactory2 rsf = new JPEReportSourceFactory();
java.util.Locale localetest = java.util.Locale.CHINA;
rptSource = (IReportSource)rsf.createReportSource(path,localetest);
fields = new Fields();
ParameterField pfield1 = new ParameterField(); //编号
ParameterField pfield2 = new ParameterField(); //单位
ParameterField pfield3 = new ParameterField(); //人
ParameterField pfield5 = new ParameterField(); //FIELD5
ParameterField pfield6 = new ParameterField(); //FIELD6
ParameterField pfield4_KSSJ = new ParameterField(); //开始时间
ParameterField pfield4_JSSJ = new ParameterField(); //结束时间 Values vals1 = new Values();
Values vals2 = new Values();
Values vals3 = new Values();
Values vals5 = new Values();
Values vals6 = new Values();
Values vals4_KSSJ = new Values();
Values vals4_JSSJ = new Values(); ParameterFieldDiscreteValue pfieldDV1 = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV2 = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV3 = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV5 = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV6 = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV4_KSSJ = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue pfieldDV4_JSSJ = new ParameterFieldDiscreteValue();
//设置第一个参数:编号
pfield1.setReportName("");
pfield1.setName("BH");
pfieldDV1.setValue(BH);
pfieldDV1.setDescription("编号");
vals1.add(pfieldDV1);
pfield1.setCurrentValues(vals1);
//设置第二个参数:单位部门
pfield2.setReportName("");
pfield2.setName("DW");
pfieldDV2.setValue("");
pfieldDV2.setDescription("发单部门");
vals2.add(pfieldDV2);
pfield2.setCurrentValues(vals2);
//设置第三个参数:人
pfield3.setReportName("");
pfield3.setName("REN");
pfieldDV3.setValue("");
pfieldDV3.setDescription("申请人、下达人、操作人、负责人等");
vals3.add(pfieldDV3);
pfield3.setCurrentValues(vals3);
//设置第五个查询字段
pfield5.setReportName("");
pfield5.setName("FIELD5");
pfieldDV5.setValue("");
pfieldDV5.setDescription("查询字段5:任务来源线路名称等");
vals5.add(pfieldDV5);
pfield5.setCurrentValues(vals5);
//设置第六个查询字段
pfield6.setReportName("");
pfield6.setName("FIELD6");
pfieldDV6.setValue("");
pfieldDV6.setDescription("查询字段6:更改原因、工作内容等");
vals6.add(pfieldDV6);
pfield6.setCurrentValues(vals6);
//设置开始时间
pfield4_KSSJ.setReportName("");
pfield4_KSSJ.setName("KSSJ");
pfieldDV4_KSSJ.setValue("");
pfieldDV4_KSSJ.setDescription("开始时间");
vals4_KSSJ.add(pfieldDV4_KSSJ);
pfield4_KSSJ.setCurrentValues(vals4_KSSJ);
//设置结束时间
pfield4_JSSJ.setReportName("");
pfield4_JSSJ.setName("JSSJ");
pfieldDV4_JSSJ.setValue("");
pfieldDV4_JSSJ.setDescription("结束时间");
vals4_JSSJ.add(pfieldDV4_JSSJ);
pfield4_JSSJ.setCurrentValues(vals4_JSSJ);
//参数字段和报表关联
fields.add(pfield1);
fields.add(pfield2);
fields.add(pfield3);
fields.add(pfield5);
fields.add(pfield6);
fields.add(pfield4_KSSJ);
fields.add(pfield4_JSSJ);
return true;
}
catch(Exception e){
System.out.println("Class:ReportInit错误:"+e);
return false;
}
}
}
在 crv.setParameterFields(fields);之前
加上 viewer.setEnableParameterPrompt(false);试试