web-dev-qa-db-ja.com

SSRS2008でお互いの立場に影響を与える報告項目

一部のレポートアイテムが条件付きで非表示になっているときに、他のアイテムの位置を変更するのに問題があります。

私はReportingServices 2000を使用してアイテムの価格ラベルをPDFとして印刷しており、レポートはアイテムごとに1つのセルを持つ単一のテーブルで構成されています。ラベル上のデータフィールドとその他のアイテムはすべて、単一の長方形内に配置されます。非常に特殊なレイアウトが必要なため、レンダリングされたPDFに正しく配置するために、一部のレポートアイテムがデザイナでオーバーラップします。

これは、SSRS 2008にアップグレードして、レポートを新しいバージョンに移行する必要が生じるまで、数年間は正常に機能していました。

さて、突然、レポートの特定のアイテムが(非表示プロパティの式によって)非表示になると、他の特定のアイテムの位置が移動します。場合によっては、含まれている長方形でさえサイズ変更されます。

かなりグーグルした後、SSRS 2008はレポートアイテム間の相対的な間隔を維持しようとしているため、別のアイテムの左側のアイテムのサイズが変更された場合、それに応じて右側のアイテムが調整されることがわかりました。 。

どうやら、アイテムを非表示にすることは、そのサイズをゼロに変更することと同じであるため、その隣のアイテムは、ギャップを埋めるために左にシフトされます。

ただし、他のアイテムに関係なく、すべてのアイテムが事前定義された位置に留まる必要があるため、この動作は望ましくありません。

それで、他のアイテムを隠すことによって影響を受けないように、レポートアイテムの位置を「修正」する方法を知っている人はいますか?

同じ長方形内のアイテムのみが相互に影響を与えることを期待して、アイテムを別々の長方形内に配置してグループ化しようとしましたが、これは役に立たないようです。

どんなアイデアでも大歓迎です。

15
Rolf

並べた例では、両方を保持するのに十分な大きさの長方形に非表示にできるコントロールを配置できます。ただし、長方形の後ろの固定位置にとどまる必要がある他のコントロールを配置します(つまり、このコントロールの親は長方形ではなくレポートです)。

それだけでは不十分で、非表示のアイテムと非表示のアイテムが同じデータセットを使用している場合は、グループ化が1で、適切な行数と列数の巨大なTablixコントロールを使用してレイアウトを制御できます(できるため)中に長方形を挿入します)。

他のいくつかのトリックは、color/backgroundcolorプロパティを白に設定することです(ただし、一部のレンダリング形式では、クリックしてドラッグしてハイライトし、そこにあるものを読み取ることができます)...あるいは、コントロールのコンテンツをすべて作成することもできます条件が満たされた場合に何も生成しないように、式ベースであるため、基本的には表示されません。

13
Cody Konior

これはかなり特定の要件であるため、これが他の誰かに役立つかどうかはわかりませんが、OPの問題の私の変種を解決したので、ここに行きます。私はラベル(私の場合はAvery 5164)を印刷するSSRSレポートを設計していましたが、ユーザーはページから1つまたは2つのラベルをすでに使用している可能性があるため、シート上のどのラベルを印刷するかを選択したいと考えていました。印刷されたラベルの位置が重要であるため、シート上のラベルの上にあるラベルが非表示になっている場合でも、ラベルを所定の位置に保持する必要がありました。私の解決策は、ラベルと同じサイズの空の長方形を作成し、既存の長方形の上に直接配置することでした。 2、3、4などのラベルを非表示にしても、残りはそのままになります。

0
Mike Devenney

別のアプローチ:非表示にするフィールドを含む長方形を作成してから、長方形の下部(または上部)全体に白い線を配置します。これにより、長方形内のフィールドが非表示になっている場合でも、長方形は同じサイズに保たれます。長方形内のフィールドが縮小すると長方形は縮小しますが、長方形全体にまたがる線はこれを防ぎます。

0
Ted Kennedy