質問
印刷してクライアントに郵送するレポートがたくさんあります。レポートの上部には差出人アドレスが左揃えで表示されます。レポートにオプションのロゴを追加するように依頼されました。このロゴは差出人住所の左に残しておく必要があります。(ロゴとその他すべての情報はデータベースに保存されます)。したがって、ロゴが存在する場合は、次のように表示されるべきです。
<someimage> <返送先アドレス>
ロゴが存在しない場合は、次のように表示されるべきです。
<返送先住所>
さまざまなレポートにはさまざまなロゴを配置できるため、作業を容易にするために、ロゴはサブレポートとして実装されました。サブレポートは正しいロゴ画像を取得するだけで、レポートに自動的に表示されます。
私が抱えている問題はこれです。ログが存在しない場合は、上記のように戻りアドレスを左揃えにする必要があります。しかし、何が起こっているのかというと、サブレポートには何も表示されていないにもかかわらず、ロゴが配置されるスペースが占有されており、返信先アドレスがページの左側から数インチ右側に浮いているということです。
<Return Address>
それで...表示するロゴがない場合に、サブレポートを表示しないか、スペースを取らないようにするために使用/設定できる設定はありますか?
申し訳ありませんが、これで十分に理解できたと思います。RDL についてはまったくの初心者です。
解決
ロゴがない場合にはサブレポートが表示されないように、サブレポートの表示設定に式を設定できる必要があります。
以下は、手元にあった RDL の XML です。
<Subreport Name="SubReport">
<ReportName>SubReport</ReportName>
<Visibility>
<Hidden>=Not Parameters!ShowLogo.Value</Hidden>
</Visibility>
</Subreport>
これは ShowLogo と呼ばれるブール値パラメータに対してテストしますが、別のパラメータの値 (URL の長さなど) も同様に簡単にテストできます。
明確にするために、「Hidden」プロパティの式を指定するときは、要素を表示するときにその式を False に評価する必要があります。式が True と評価された場合、要素が非表示になることを意味します。