Crystal レポートのデータをロードするためにデータテーブルを使用しています。ユーザーが DataGridview でフィルター処理したデータに基づいて、[印刷] をクリックすると、フィルター処理されたデータがレポートに表示されます。
詳細セクションにデータがない場合は、抑制で以下の式を使用して抑制しています。
Shared NumberVar PageofLastField;
If OnLastRecord then PageofLastField = PageNumber;
ヘッダー セクションでは、詳細セクションにデータがない場合、ページ ヘッダーを非表示にします。使用される式は次のとおりです。
( Crystal Reports を参照 - ページに 0 レコードがある場合はページ ヘッダーを非表示にします)
Shared NumberVar PageofLastField;
PageofLastField := PageofLastField;
if pageofLastfield <> 0 and PageNumber > PageofLastField
THEN TRUE
ELSE FALSE
以下はクリスタルレポートの画像です。
フロントエンドの PRINT ボタンをクリックすると。詳細セクションにデータがない場合、ページ ヘッダーが表示されます。
下の画像は、レポートの 2 ページ目で、レコードがなく、概要が表示されています。
ヘッダーセクションで以下の式を使用する場合
OnLastRecord AND Count({PaymentReportTable.InvID}) <> 1
2ページ目にはレコードが表示されていてもページヘッダーが表示されていません。
約 12 個の Crystal レポートを作成しましたが、それらすべてで同じ問題に直面しています。
ご意見をお聞かせください。