13

レポートを表示する列が 10 あり、ユーザーが選択するパラメーターの値に基づいて、実行時にこれらの列のうち 3 つを非表示にしたいとします。これは、前述のパラメーターの値に基づいて、これら 3 つの列のそれぞれの列の可視性を設定することで簡単に実行できます。ここまでは全然平気です。

問題は、レポートが表示されたとき (3 列が非表示)、残りの 7 列が非表示の列の代わりになり、その結果、テーブル全体の幅がそれに応じて減少することです。私はこれが起こることを望んでいません。つまり、テーブルの幅を一定に保ちたいのです。

つまり、テーブルの元の全体の幅が同じままになるように、残りの列の幅を何らかの方法で拡張できる必要があります。

これを達成することは可能ですか?

4

2 に答える 2

22

列幅は本来式ベースではありませんが、このようなものを実現できます。それがうまくいくかどうかは、特定のレポートのレイアウトと、回避策が他の要素にどのように影響するかによって決まると思います。

とにかく、簡単な例。3 つのフィールドを持つ DataSet に対するレポートを作成しました。

ここに画像の説明を入力

val2ブール値パラメーターによって可視性を制御するように設定しましたHideColumn。これはうまくいきます。

テーブルには実際には5 つの列があることに注意してください。実際には 2 つの列があり、列内のフィールドをまとめてval1マージしましたval3

ここで重要なのは、がtrueHideColumnに設定されている場合は との余分な列を表示し、 falseの場合は列を非表示にすることです。基本的に の可視性とは反対です。val1val3val2

SSRS は、表示されている列に基づいて、マージされたフィールドの幅を調整します。

ここに画像の説明を入力

ここに画像の説明を入力

したがって、この場合、必要に応じて機能しています。あなたの例では、これらの余分な列のサイズと必要な幅について考える必要がありますが、原則は同じです。

これは、行列ではなくセット列に対してのみ機能しますが、うまくいけば十分です。

于 2013-04-28T12:15:34.670 に答える