在报告页脚之前消除组页脚分页符

Jef*_*ffO 1 reporting devexpress xtrareport

我有一个包含页眉和页脚的报告.根据数据,应该只有两组.我将Group Footer设置为在它之后有一个分页符.我不希望最后一个组在报表页脚之前创建分页符(如果我这样做,我会设置报表页脚在它之前有一个分页符.).我从未遇到过其他报道编写者的这个问题.

报告打印输出的示例而非设计的示例.我的报告只有一个组标题和一个组页脚:

报告标题

组数据集1标题详细信息详细信息组数据集1页脚

组数据集2标题详细信息组数据集2页脚!我不想要这个!

报告页脚(单独停留在最后一页)

张贴在他们的董事会:http: //community.devexpress.com/forums/t/78705.aspx

Kyl*_*net 5

这将确定您何时到达报告的末尾并停止组页脚中断页面.它假定您的组页脚的PageBreak属性已设置为PageBreak.AfterBand.

private void Report_DataSourceRowChanged(object sender, DataSourceRowEventArgs e) {
    if (e.CurrentRow == this.RowCount - 1)
        GroupFooter.PageBreak = PageBreak.None;
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以将组页眉和页脚的PageBreak属性设置为PageBreak.None.然后,当您打印第一个组时,在每个组标题带之前将其设置为分页符,如下所示:

private void GroupFooter_BeforePrint(object sender, DataSourceRowEventArgs e) {
    if (GroupHeader.PageBreak == PageBreak.None)
        GroupHeader.PageBreak = PageBreak.BeforeBand;
}
Run Code Online (Sandbox Code Playgroud)

这取决于您选择哪种方法.我个人更喜欢第二个.尽管我随意选择了GroupFooter_BeforePrint方法进行订阅并进行了此更改,但我仍然觉得这样做比依赖行数来确定何时到达报告末尾更为舒服.