[英]Java Crystal Report SDK - Report & SubReport
I'm trying to generate a report using Crystal Report SDK in Java composed by a main report and a subreport.我正在尝试使用 Java 中的 Crystal Report SDK 生成一个报告,该报告由一个主报告和一个子报告组成。
I do want to generate the report only if there is something returns by my stored procedure and for doing that I execute the proc manually and launch the report generation only if my ResultSet != null.我确实希望仅当我的存储过程返回某些内容时才生成报告,为此我手动执行 proc 并仅在我的 ResultSet != null 时才启动报告生成。
But, my subreport has to be generated through Crystal.但是,我的子报表必须通过 Crystal 生成。
_ I use the setTableslocation() for getting the values and generating the report through crystal _ 我使用 setTableslocation() 获取值并通过 Crystal 生成报告
_ I set all the parameters needed in the ParameterFieldController of my subreport. _ 我在子报表的 ParameterFieldController 中设置了所有需要的参数。
However, I'm getting this error in my console :但是,我在控制台中收到此错误:
Missing parameter values.---- Error code:-2147217394 Error code name:missingParameterValueError
缺少参数值。----错误代码:-2147217394 错误代码名称:missingParameterValueError
Even though the subreport's parameters are correctly setted.即使子报表的参数设置正确。
If I generate my report with no subreport or with report and no needed parameter, the generation is just fine.如果我生成的报告没有子报告或报告且没有需要的参数,那么生成就可以了。
Am I setting my parameters in a wrong way ?我是否以错误的方式设置了我的参数?
After trying a lot of stuff for integrating my subreport without using another ResultSet, here is the way for setting the parameters for the subreport :在尝试了很多东西来集成我的子报表而不使用另一个 ResultSet 之后,这里是设置子报表参数的方法:
You have to use the ParameterFieldController of the main report and not the one of the subreport... Logic.您必须使用主报告的 ParameterFieldController 而不是子报告之一...逻辑。
ParameterFieldController paramFieldController = rptClientDoc.getDataDefController().getParameterFieldController();
ParameterFieldController paramFieldController = rptClientDoc.getDataDefController().getParameterFieldController(); paramFieldController.setCurrentValue(subreport_name, parameter_name, parameter_value);
paramFieldController.setCurrentValue(subreport_name, parameter_name, parameter_value);
And now, it works just fine !现在,它工作得很好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.