【问题标题】:Xtrareports - report header problemsXtrareports - 报告标题问题
【发布时间】:2012-08-16 19:22:54
【问题描述】:

我有一份 .repx 格式的报告。带有组页眉、详细信息和组页脚。

问题是当第一页没有更多的组页脚空间时,组页脚打印在下一页,但在这一页上也打印组页眉,即使详细部分没有更多记录。如果没有更多详细记录部分组标题在下一页上不可见,我该怎么做。

谢谢!

【问题讨论】:

  • 这怎么可能..如果没有记录组,那么您如何在报告中创建一个组?详细说明并简化您的问题..
  • 所有记录都打印在第一页,但是没有更多空间打印组页脚,页脚打印在下一页,但组页眉也打印了。我想要那个如果详细信息部分没有更多记录,则第二页组标题将不可见。
  • 然后在打印事件之前使用并检查它是否是第 2 页。如果是,则抑制组标题。我假设您的报告不会超过页数到 2。
  • 但在某些情况下,第 2 页上有记录,在这种情况下我需要组标题。

标签: devexpress


【解决方案1】:

参考这个How do I hide the GroupFooterBand when the grouping field is empty or null?

有两种方法可以实现这一点,但我建议您遵循以下方法:

如果您能找出哪些细节带将隐藏在 GroupHeaderBand.BeforePrint 和 GroupFooterBand.BeforePrint 事件 处理程序,然后您可以隐藏相应的组页眉和页脚。

参考资料: Hide GroupHeader & GroupFooter
[来自报告。]
How to shrink groupHeader or to hide a xrtable in the groupHeader - don't work
suppress group footer if group header is suppressed
How to hide GroupFooterBand on the last page
GroupFooter BeforePrint with Hierarchical data structure

【讨论】:

    【解决方案2】:

    对于几乎相同的问题,我想出的解决方案是跟踪在每个页面上重置的计数器。

    首先,将BeforePrint 连接到TopMargin 带上,该带会打印在每一页上:

    private int detailsPrintedThisPage = 0;
    private void TopMargin_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
        detailsPrintedThisPage = 0;
    }
    

    接下来,每当打印细节时,都要跟踪它:

    private void Details_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
        detailsPrintedThisPage++;
    }
    

    最后,在组页脚上,如果没有详细信息已打印此页,则抑制页脚:

    private void GroupFooter1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
       e.Cancel = (detailsPrintedThisPage == 0);
    }
    

    我解决的问题最初与您的问题相同,只是我的组页脚只是一个空白标签,用于在组之间提供填充。如果详细信息排列得恰到好处,空白间距会导致整个页面(带有组标题)打印在最后一页上,这正是您描述的情况。

    然而,在我的例子中,我通过完全删除页脚并在组页眉之前添加额外的空间来简化问题,如果它是打印在给定页面上的第一个组页眉,我会抑制它。但是,上面的代码改编自我的解决方案,适用于更一般的情况下,如果页面上没有详细信息,您将具体描述要隐藏组页脚的位置。分享晚了 7 年,以防万一它帮助其他登陆这里的人......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多