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