【问题标题】:SSRS conditional page-breakSSRS 条件分页符
【发布时间】:2016-02-05 10:30:18
【问题描述】:

我有一个呈现 SSRS 报告的 C#.NET WPF 应用程序。该报告有一个父分组,我想根据其子数据应用 SSRS 条件分页符。分页功能很好,因为每个父分组都放在一个新页面上;但是,当每个父级没有很多子级数据时,这可能会消耗页面。

我的问题是编写一个条件分页符,它将检查父分组是否有足够的子数据以适合页面,这同样适用于下一个父分组,依此类推,但如果父分组包含大量数据以适合页面,然后应用分页符。

【问题讨论】:

    标签: c# wpf reporting-services


    【解决方案1】:

    由于您希望仅在 WPF 应用程序中显示它,您可以使用 InteractiveSize 属性为报表查看器定义最大页面大小。您在此处定义的高度将确定您发现的内容是“页面上无法容纳的数据过多”并相应地中断。
    对于导出为可打印格式,PageSize 属性将以相同的方式做出反应。但这允许您在使用报表查看器时拥有不同的大小,因为您可能希望在单个页面上显示更多内容。

    使用这些设置,报表查看器会将尽可能多的数据放在定义的空间上,并在超出边界时跳转到下一页。

    如果您不想拆分组,则必须将它们包装在 Rectangle 中,因为您可以将属性 KeepTogether 设置为 true,如果两者都没有空间,则会在组之间添加分页符组在同一页面上。

    在处理表格时,您可以使用以下方法将分组正确地包裹在矩形中:

    1. 在报表上放置“List”控件。
    2. 将其“DataSetName”属性设置为您的数据集名称。
    3. 在设计视图中,右键单击列表,然后选择“行组”。
    4. 在“Group Properties”窗口中,单击“Group Expressions:”标题下的“添加”按钮,然后选择您想要的字段名称想组 在一个页面内。
    5. 之后,您可以将“Table”控件放置在行组内,用于您的详细数据。
    6. 呈现报表后,报表将在分页符之间将组内的数据保存在一起。

    来源: https://stackoverflow.com/a/15656441/4579864

    我希望这能解决您的问题。如果您还有其他问题,请发表评论。

    【讨论】:

    • 如果分组发生在表格上,那么如何将矩形添加到表格行?
    • 我相信我已经在我的回答中包含了这一点。如果不知道您的布局,很难准确判断。您必须自己做一些令人费解的事情才能获得所需的结果,但您也可以通过删除 TextBox 在 tablix 的单元格内放置一个矩形。然后,您将拥有该行的列并在该矩形内放置另一个表(没有标题行)。不确定您的情况是否需要这样做,但有多种方法可以操作布局。
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多