0

2つのテーブルとそれぞれにチャートがあるレポートがいくつかあります。見出し、ヘッダー、フッターに使用されるテキストボックスもいくつかあります。

データが返されないときにカスタムメッセージを設定する場合は、レポート要素(テーブル、グラフなど)をクリックして、[プロパティ]でNoRowsMessageフィールドに入力できることをすでに知っています。

ただし、私のレポートにはいくつかの要素が含まれているため、メッセージは数回繰り返されます。これは醜いようだと思います。

さらに、テキストボックス、ヘッダー、フッターはすべて引き続き表示されます。

データがないときにレポート全体を非表示にしたり、レンダリングを防止したりして、画面に1つのメッセージを表示する方法はありますか?

4

1 に答える 1

0

SSRSのこれに関する特定の機能はわかりませんが、これを模倣するためにさまざまな回避策を試すことができます。

同じサイズのBodyのRectangleをレポートに追加してから、すべてのレポートオブジェクトをRectangleに追加することにより、データセットの行に基づいてレポートのすべての要素を非表示にできます。

RectangleHiddenのプロパティを次のように設定します。

=IIf(CountRows("DataSet1") = 0, true, false)

これは、データセットに行がない場合、Rectangleとそのすべての子要素が非表示になることを意味します。

1つのメッセージを表示する場合は、 Rectangleの外側のレポートの下部にTextBoxを追加し、そのプロパティを反対の式に設定します。Hidden

=IIf(CountRows("DataSet1") = 0, false, true)

したがって、このように、データセットに行がない場合に表示されるメッセージは1つだけです。また、行なしメッセージのフォーマットをより細かく制御できるという利点もあります。

ヘッダーフッターについても同様のことができます。すべての場合にこれらを表示することは私には理にかなっていますが、それはあなたの要件に依存すると思います。

したがって、これはかなり複雑な一連の手順ですが、目的の結果に近づく可能性があります。

于 2013-03-25T18:17:17.330 に答える