2

メイン レポートとサブレポートで構成された Java の Crystal Report SDK を使用してレポートを生成しようとしています。

ストアド プロシージャから何かが返された場合にのみレポートを生成したいのですが、そのためにプロシージャを手動で実行し、ResultSet != null の場合にのみレポート生成を開始します。

ただし、Crystal を使用してサブレポートを生成する必要があります。

  • ResultSet を使用するためのメイン レポートに setTablesDatasource() メソッドを使用します。
  • 私のサブレポートの場合:

_ setTableslocation() を使用して値を取得し、Crystal を介してレポートを生成します

_ サブレポートの ParameterFieldController に必要なすべてのパラメーターを設定しました。

ただし、コンソールに次のエラーが表示されます。

パラメーター値がありません.---- エラー コード:-2147217394 エラー コード名:missingParameterValueError

サブレポートのパラメーターが正しく設定されていても。

サブレポートを使用せずに、またはレポートと必要なパラメーターを使用せずにレポートを生成した場合、生成は問題ありません。

パラメータを間違った方法で設定していませんか?

4

1 に答える 1

2

別の ResultSet を使用せずにサブレポートを統合するために多くのことを試した後、サブレポートのパラメーターを設定する方法は次のとおりです。

サブレポートの ParameterFieldController ではなく、メイン レポートの ParameterFieldController を使用する必要があります... ロジック。

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

そして今、それはうまくいきます!

于 2012-11-29T21:06:40.860 に答える