2

我正在尝试使用由主报表和子报表组成的 Java 水晶报表 SDK 生成报表。

我确实想仅在我的存储过程返回某些内容时生成报告,为此我手动执行 proc 并仅在我的 ResultSet != null 时启动报告生成。

但是,我的子报表必须通过 Crystal 生成。

  • 我对我的主报告使用 setTablesDatasource() 方法来使用我的 ResultSet
  • 对于我的子报告:

_ 我使用 setTableslocation() 获取值并通过水晶生成报告

_ 我在子报表的 ParameterFieldController 中设置了所有需要的参数。

但是,我在控制台中收到此错误:

缺少参数值。---- 错误代码:-2147217394 错误代码名称:missingParameterValueError

即使子报表的参数设置正确。

如果我生成我的报告时没有子报告或报告并且不需要参数,那么生成就可以了。

我是否以错误的方式设置参数?

4

1 回答 1

2

在尝试了很多东西来集成我的子报表而不使用另一个 ResultSet 之后,这里是设置子报表参数的方法:

您必须使用主报表的 ParameterFieldController 而不是子报表之一...逻辑。

ParameterFieldController paramFieldController = rptClientDoc.getDataDefController().getParameterFieldController(); paramFieldController.setCurrentValue(subreport_name, parameter_name, parameter_value);

现在,它工作得很好!

于 2012-11-29T21:06:40.860 回答