0

独立したURLを介してjasperレポートを呼び出し、レポートの実行に必要な入力コントロールの1つを渡します。

例:http:// localhost:8080 / jasperserver / flow.html?_flowId = viewReportFlow&standAlone = true&reportUnit = xyz&ParentFolderUri = abcd&j_username = xyz&j_password = xyz&parameter1 = value1&。。。

上記の独立したURLでわかるように、JasperServerのユーザー名とパスワード、reportUnitの名前と場所、およびその他の必須パラメーターを、レポート入力パラメーター、つまり「 value1 」のような値を持つことができる「 parameter1 」とともに渡します。

この入力値には、必須の読み取り専用の表示可能な入力コントロールを使用しました。その値は独立したURLから取得され、ボックスに表示されますが、読み取り専用であるため、変更できませんでした。

この時点まで、レポートは完全に正常に機能していました。

しかし、私のクライアントがこのアイデアを拒否したときに悲劇が始まりました。彼は私のレポートへの完全に見えない入力コントロールを望んでいました、そして入力値はちょうど上に示されているように、独立したURLを通して渡されるでしょう。

そして、私のクライアントは私にこれを参照するように頼み、カスケード入力コントロールに取り組むようにさせてくれました。

最近、このレポートにカスケード入力コントロールを追加しました。入力コントロールタイプは単一の選択クエリであり、独立したURLを介してレポートに渡す2つのパラメーターを利用します。

これで、Jasperサーバーが入力パラメーターを使用して独立したURLに応答すると、カスケードされたパラメーターを除いて、他のすべての静的パラメーターが正しく機能します。

カスケード入力の選択ボックスをクリックすると、必要なオプションが1秒間表示され、選択リストを表示している間は空になります。

しかし、「Parameter1」入力コントロールを表示すると、カスケード入力コントロールが機能します。

そして、私は見えないようになります。カスケード入力コントロールは、それ自体で物事を行い、彼の主人の言うことを聞かない獣に変わります。

なぜこれが起こっているのか理解できません。誰かが私にこれに対する解決策を提供してもらえますか?

4

1 に答える 1

0

これに対する一時的な解決策を見つけました。

「Parameter1」入力コントロールを表示および読み取り専用にしました。

次に、スタイルシートを使用して、Web ページでの入力コントロールの表示に影響を与えるスタイル ルールを定義し、「display: none」を作成しました。

URL を介してスタイルシートの名前を渡しました。したがって、このスタイルシートはレポートに使用されます。

現在、「Parameter1」入力コントロールはエンド ユーザーには表示されず、私のレポートはまだ実行されており、それが単なる修正であることは誰にもわかりません。

于 2012-07-06T06:41:09.717 に答える