レポートフッターの前にグループフッター改ページを排除
-
16-09-2019 - |
質問
私は、グループヘッダーとフッターとの報告があります。データに基づいて2つだけのグループがあるはずです。私は、グループフッターがそれの後に改ページを持つように設定されています。私は(私がやった場合、私はそれの前に改ページを持つことが、レポートフッターを設定します。)最後のグループは、レポートフッターの前に改ページを作成する必要はありません。私は他のレポートライターを使用してこの問題を抱えていたことがありません。
レポートのプリントアウトがデザインのようにしていないに見えるかの例。私のレポートには、唯一のグループヘッダーと1つのグループフッターがあります:
レポートヘッダー
グループデータセット1つのヘッダ ディテール ディテール ディテール グループデータセット1つのフッター
グループデータセット2のヘッダー ディテール ディテール groupdataセット2フッター !私はこれをしたくない!
レポートフッター(それ自体で最後のページに貼り付け)
自分のボードに投稿されました: http://community.devexpress.com/forums/トン/ 78705.aspxする
解決
これは、レポートの最後に到達し、ページを壊すからグループフッターを停止しましたときに決定します。それはあなたのグループフッターの改ページプロパティはすでにPageBreak.AfterBandに設定されていることを前提としています。
private void Report_DataSourceRowChanged(object sender, DataSourceRowEventArgs e) {
if (e.CurrentRow == this.RowCount - 1)
GroupFooter.PageBreak = PageBreak.None;
}
また、あなたはPageBreak.Noneにグループヘッダーとフッターの改ページプロパティの両方を設定することができます。あなたが最初のグループを印刷しているときに、そのような各グループヘッダーバンドの前に改ページに設定します:
private void GroupFooter_BeforePrint(object sender, DataSourceRowEventArgs e) {
if (GroupHeader.PageBreak == PageBreak.None)
GroupHeader.PageBreak = PageBreak.BeforeBand;
}
これは、選択した方法はあなた次第です。個人的に私は第二1の方が好き。私は、任意に加入すると、この変更を行うためGroupFooter_BeforePrint方法を選んだとしても、私はまだそれを行うより快適に感じるだろうあなたはレポートの最後に達したときを決定するために行数に頼るよります。