web-dev-qa-db-ja.com

RDLCレポートの空のページ

Tablixを含むrdlcレポートがありますが、他には何もありません。 Tablixは水平方向に展開して日を表示し、垂直方向に展開してグループを表示します。

コンテンツ領域の幅をTablixの幅に設定している限り、Tablixは期待どおりに機能します。

コンテンツサイズを固定サイズ(およそPageWidth-PageBorders)に拡張してレポートを実行すると、2ページごとに空のページが作成されます。
ただし、Tablixは1ページしか使用しません。すべての奇数ページは絶対に空です。 Tablixは現在定義されているコンテンツの幅に水平方向の拡張を追加し、オーバーフローを計算するようです。

レポートビューアのバージョンは3(2010再頒布可能)です

誰かがこの奇妙な行動の解決策を持っていますか?

更新

レポートをExcelにエクスポートすると、Tablixの適切なサイトに、その日に生成されたアイテムとまったく同じ長さの列があることがわかります。非アクティブ化する方法がわからないバグまたは機能であるように思えます。

更新1

レポートのプロパティ「ConsumeContainerWhitespace」をtrueに設定すると、上記のテストバージョンが機能します。しかし、「白い」領域に他の要素を配置すると、効果が繰り返し発生します。

40
HCL

ページプロパティの設定ConsumeContainerWhitespace=true(プロパティダイアログ、F4)が役立ちました。しかし、レポートを正しく作成することはとにかくトリッキーでした。最初は、すべての追加コンテンツをページヘッダーとフッターに追加した場合にのみ機能しました。しかし、これは受け入れられませんでした。多くのことを試みた後、私は希望どおりにレポートを作成することに成功しました。しかし、背後にあるロジックは本当に理解していません。

私はすでにこのようなレポート(水平方向と垂直方向の両方の方向に成長する)を問題なく実行していることを心に留めており、このレポートとの違いはここではわかりません。このレポートでは、ConsumeContainerWhitespace-プロパティが違いを生むことは間違いなく再現可能です。しかし、私がこれまでに行った同様のレポートでなぜこれが私に起こらないのか、私にはわかりません。また、レイアウトエンジンが私の設計を受け入れる前に、なぜ最初に回らなければならなかったのか分かりません。

41
HCL

この問題を解決する最良の方法は、たとえば、A_4ページでWidth=21 cmおよびHeight=29.7 cm

現在のマージンLeft=1 cmおよびRight=1 cmしたがって、使用可能な幅は19 cmです。

この基本的な計算を理解したら、問題は解決したことになります。レポートプロパティ=> pagesetupを右クリックして、レポートページサイズプロパティを設定できます。

14
user3778502

「本文」のサイズを確認し、実際の用紙サイズと同じ幅と高さにしますが、余白のみを減らします。

9
Alberto Gamboa

解決策は簡単ですConsumeContainerWhiteSpace=True(「レポート」のプロパティウィンドウにあります)たとえば、メインメニュー/レポート/レポートプロパティで用紙サイズを「A4」に設定し、用紙サイズがbody + header + footer + margins

7
Florin Siri

ページのデザインには混乱があります。開発者は、設計中のレポートがWYSIWYGであると考えますが、実際はそうではありません!! Microsoft reportviewerは、デザインされたページをコンテンツとして取得します!!ページの外側に定義された余白を追加すると、ページが1ページに収まらないことがわかります!!

そのため、新しいレポートを設計するときは、ヘッダーとフッターを含むコンテンツ領域、クライアント領域に注目し、外側の境界に余白を追加できるようにします。

7
Lin Song Yang

レポート本文のheightおよびwidthで遊ぶまで、私は同じ問題を抱えていました。 :)

6
Ibad

私は最近この問題に出会いました。

根本的な原因は:
レポートの本文には、空白の上部レポートフッターまたは他の場所があります。
解決策は:
1、レポート本文をクリックします
2、プロパティウィンドウに移動すると、ボディサイズプロパティが表示されます。
3、ボディサイズを確認すると、9.6654in、1.5625inのような奇妙な数字が見つかる場合があります。
これは、フッターの上部に空白があることを意味し、表示される空白がなくなるまで高さまたは幅のサイズを変更します。

5
charles chen

ウィンドウ上部のオブジェクトセレクタで[レポート]を選択してください。また、同じ問題が引き続き発生する場合は、ConsumeContainerWhiteSpace = trueにします。rdlcレポートのサイズは、レポート本文より小さくする必要があります。

5
firefly

私は、余分な空白ページを印刷していたRDLCレポートで作業していました。問題がレポートの右マージン領域の余分な量の目に見える空白によって引き起こされることに気付くまで、私はすべての通常のトリックと考えられるすべてを試しました。レポート内のオブジェクトの1つ(「長方形」)が1ピクセルまたは2ピクセルであったため、レポートの表示スペースのサイズを変更できませんでした。余分な幅をすべて削除すると、レポートは予想されるページ数で印刷を開始しました。

Visual Studio 2017(15.7.5)+ Microsoft Rdlc Report Designer拡張機能(v14.2)

enter image description here

4
robbpriestley

RDLCレポートに次のものがあることを確認する必要があります。

  1. ConsumeContainerWhiteSpace = true(クリックして開くF4)
  2. レポート本文サイズ<=ページサイズ+マージンサイズ。 (Ctrl + Alt + Dで開く)
4
Tang Thanh Tam

ページフッターも問題を引き起こす可能性があります。そのため、1つある場合は、メインコンテンツのできるだけ近くに配置することをお勧めします。この場合、Body.Heightプロパティを設定する必要はありません。

3
mrmowji

レポート幅プロパティを実際の印刷ページ幅に設定する必要があります。私の場合、6インチが役に立ちました。

3
Dzmitry

私の4x2インチラベルは、1ページのレポート用に3ページ余分に印刷していました。

それを修正するために、Body.Size属性をReport.PageSizeからそれぞれの合計Report.Marginsを引いたものと同じかそれより小さくしました。

2
midohioboarder

私は同様の問題を抱えていたので、このように解決しました

たとえば幅については、次の式が満たされる必要があります

PageSize >= LeftMargin +  BodySize + RightMargin 

BodySizeの場所?

F4を押す->レポート内のどこかを選択-> bodyプロパティが見つかります(sizeプロパティを見て、幅の値を取得します)

レポートPageSizeの検索場所

レポートの外側をクリックします->レポートプロパティが表示されます(PageSize(幅の値を取得)、およびmarginsLeftright、 ..)、左右のマージン値を取得)

これらのプロパティから値を取得し、それらが一致するかどうかを確認します

PageSize >= LeftMargin +  BodySize + RightMargin 

または、最後のレポートコントロールまたはラベルの正確な下部に合わせて、レポートデザインをグラフィカルにサイズ変更することもできます。

または、フッターセクションを追加してスペースを作成します。

enter image description here

1
Marcelo Lujan

これを試して、

必要なすべてのデータがレポートに含まれていることを確認してから、テーブルまたはマトリックスを選択し、左に、必要に応じて左上の角に絞って、白いページの問題が完了するまで待ちます。

しかし、細胞が正しい方法で絞られていることを確認してください、優しくしてください(あなたがそれを得たことを願っています!!)

さようなら

1
Lijo George