0

カスケードパラメータグループの最初のレベルのパラメータを非表示にしたい場合があります。その引数をurlの一部として(つまりクエリ文字列として?)渡します。次に、カスケードパラメータグループの下に2つのパラメータ(つまり、officecodeとempno)を作成しました。 )ユーザーがurlを介してofficecodeパラメーターを渡している場合(つまり、ユーザーが管理者ではない場合)、最初のレベルのパラメーター(つまり、officecode)を非表示にして、そのオフィスに対応するすべてのempnoを直接ロードします。ユーザーがofficecodeを一部として渡していない場合url(ユーザーが管理者であり、すべてのオフィスを表示したいことを意味します)の場合、パラメーターdailogに両方のパラメーターを表示します。または、このシナリオを処理する他の方法はありますか?

4

1 に答える 1

1

このスクリプトを下に追加することで、パラメータを動的に非表示にできますgetDefaultValueList:

reportContext.getHttpServletRequest().getParameter("outerParameter")!=null?reportContext.getDesignHan
dle().findParameter("outerParameter").hidden = true:null

これにより、外部パラメータがサーブレットを介して入力されたかどうかがチェックされます。もしそうなら、それはそれを隠し、そうでなければ、それは表示されます。

同様に、下位レベルのパラメーターで上位レベルが満たされているかどうかをチェックし、満たされている場合は値を渡すことができます。

URLはのようになりますwww.website.com/birt/run?__report=reportname.rptdesign&outerParameter=specifiedValue

于 2013-04-04T08:50:59.777 に答える