2012-04-04 101 views
0

レポートに表示されている個人レコードの画像がデータベースに存在する場合は、その画像を自分のレポートに表示します。ただし、その人物のレコードに画像がない場合は、データベース画像が配置される正確な場所に埋め込み画像を表示する必要があります。私はそれらをお互いの上に置くと、表現に基づいて可視性を切り替えると、SSRSは隠されているイメージのためのスペースを "保持"しているようです。たとえば、埋め込みイメージがレポートのデータベースイメージの上にあり、埋め込みイメージが非表示に設定されている場合、SSRSは表示イメージの右側に空白を表示します。SSRS埋め込み画像またはデータベース画像の表示

私はテーブルに画像を置いて、運を使わずに列をトグルして、画像設定(オートフィット、クリップなど)で回そうとしました。異なる型(組み込み型とデータベース型)のため、式を使用できるようには見えません。埋め込まれたイメージをデータベースに入れること以外にこれを行う方法はありますか?

+0

今日はこれをテストする時間がありませんが、個々のイメージアイテムを別々の矩形に配置し、矩形の可視性を設定しようとするとどうなりますか?四角形は、レポートアイテムをレイアウトするときに、少し違った方法で処理されることがよくあります。これは、ページ上の後のアイテムをレイアウトするときに異なる階層を使用できるため、四角形内のアイテムのサイズに依存しません。 –

+0

SSRSは他の矩形の上に矩形を置くことができないため、矩形は機能しませんでした。それは自動的に、私たちが望むものの中に矩形を追加します。 – Drew

答えて

0

これを実現する方法は、Tablixを作成して列の可視性を切り替えることです。 TablixはTableとは違って動作するのは面白いですが、そうではありません。

我々は問題を論じた本が見つかりました:あなたがイメージ項目の自由形式の配置を持つことができるように、表のセル内の四角形のオブジェクトを入れ

http://sqlserverpedia.com/blog/sql-server-bloggers/dealing-with-white-space-due-to-a-hidden-textbox-in-reporting-services/

0

を。デフォルトの埋め込みイメージをrdlに追加し、defaultImageと呼んでください。

=Not(IsNothing(Fields!{FieldName}.Value)) 

今、あなたのデフォルトこと:データベースからのデータ・タイプは、データベースのフィールドの値がnullであるかどうかをチェックするためには、デフォルトの埋め込まれた画像上のあなたの可視性の表現が可能になる、[]バイトとなりますので、データベースからのフィールド値がある場合、イメージは非表示になります。新しい画像オブジェクトをデフォルトの画像の同じサイズの上に置きます。この画像はデータベースフィールドの値を直接使用し、抑制は必要ありません。 byte []が空の場合、データベースイメージは表示されず、埋め込まれた(デフォルトイメージ)が表示されます。