吐血请教:JAVA:用JSP调水晶报表带参数打印问题。(高分求救)

深圳李春雷 2005-03-27 07:04:55
我用JSP调水晶报表。
显示正常,翻页正常,放大缩小都正常。
但是一旦我要打印或者导出的时候,总是提示一个错误:
some parameters are missing values .

我已经使用了
setReuseParameterValuesOnRefresh(true)
setReportName("")
等多种方法,可是还解决不了。
万分着急!

请问怎么办?

lcl@linhangsoft.com

...全文
252 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcllcl987 2005-09-05
  • 打赏
  • 举报
回复
好啊,不过我在武汉
不知老兄是哪的?
深圳李春雷 2005-09-03
  • 打赏
  • 举报
回复
咱俩同名同姓,缘分啊,有机会见个面?
lcl@linhangsoft.com
lcllcl987 2005-07-08
  • 打赏
  • 举报
回复
在WEB-INF里面的web.xml中应该这样:
<context-param>
<param-name>crystal_image_uri</param-name>
<param-value>/webmis/crystalreportviewers10</param-value>
</context-param>

<taglib>
<taglib-uri>/crystal-tags-reportviewer.tld</taglib-uri>
<taglib-location>/WEB-INF/crystal-tags-reportviewer.tld</taglib-location>
</taglib>

给你一个报表初始化的类:
/*
* 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;
}
}
}
详细请看我的blog:
http://blog.csdn.net/lcllcl987
humanity 2005-05-15
  • 打赏
  • 举报
回复
我看你干脆把整个 request 里面的参数都打印出来看看少没少?
深圳李春雷 2005-05-14
  • 打赏
  • 举报
回复
难道真的没有人能够搞定吗?
我已经被迫采用。NET解决了。
真实JAVA的悲哀啊。。。。。
szabo 2005-04-07
  • 打赏
  • 举报
回复
搞定没有呀?
搞定写现来分享一下呀.
my1982 2005-03-28
  • 打赏
  • 举报
回复
hingfu1982@yahoo.com.cn
关注中。。。。。
tomuno 2005-03-28
  • 打赏
  • 举报
回复
你的浏览器没有问题?
xiaobo198294 2005-03-28
  • 打赏
  • 举报
回复
关注中
qingzhuang 2005-03-28
  • 打赏
  • 举报
回复
帮Up一下,

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧