0

我有一种情况,我必须根据复选框显示四个报告。因此用户可以从四个报告中选择不同的组合。

我的问题是分页符。我尝试了不同的选项(见下文),其中两个选项(选项 1 和 2)根本不提供分页符,无论您是否不想看到该报告,选项 3 是否为每个 tablix 提供分页符。无论该 tablix 中没有要显示的数据,报告都会为每个 tablix 提供空白页面。

使用选项 3,如果我选择要显示的所有报告,那么一切都很完美。

我已经尝试过这些选项

选项 1(分页符不起作用)

主 Tablix -> 每行:tablix 每一行内矩形内的所有子报表

选项 2(分页符不起作用)

主 Tablix -> 每一行 -> 在 tablix 的每一行内按 ID 分组的另一个 tablix,然后在每个 tablix 内进行子报表。我在每个 tablix 上应用了分页符结尾。

选项 3(分页符有效,但为未选择的报告提供空白页)

A List group by ID -> 在此列表的单行中,我为每个子报表按 ID 放置了四个 tablix 组。

选项 3 有效,但为那些未选择的报告提供空分页符。例如,从四个报告中,如果您选择要显示的最后两个报告,那么您将在报告的开头获得两个空白页,第三个报告在第三个报告上,第四个报告在第四个页面上,这是正确的。我尝试使用隐藏的表格和隐藏的组属性来隐藏 tablix,但仍然会出现分页符。

任何帮助都感激不尽。

4

1 回答 1

1

我已经解决了这个问题。对于那些在同样情况下苦苦挣扎的人,这是我的工作。

我放置了一个列表框,然后连续放置了四个表,并在这些表中放置了子报表。我没有在这里应用任何分页符。我在这里只根据报告选择显示和隐藏表格。

技巧在子报表中。由于每个报告中有很多表格和分组,所以我在每个子报告的末尾放置了一个表格。

此表应该只有一个单元格。我删除了不需要的标题和 2 个额外的列。为此表选择数据集。我不想传递虚拟的空数据集,所以我选择了我的数据集,但我在从父报表传递的参数上创建了分组,它的值为 1。所以现在这个表将只显示 1 个空行。降低桌子的高度。另外,我删除了单元格内文本框的边框。我检查了“最后分页符”选项。在隐藏表达式中,我使用了以下代码来检查在此(当前)报告之后是否有任何可见的报告。如果是,那么不要隐藏这个表意味着你想要分页,否则隐藏它意味着没有分页。

=iif(Parameters!AddReport_2.Value,false
,iif(Parameters!AddReport_3.Value,false
,iif(Parameters!AddReport_4.Value,false
,true)))

这个解决方案对我有用。

我很想听听更好的解决方案。

于 2012-08-15T15:15:10.030 回答