VS 2010 RDLC报告条件分页符

时间:2013-02-25 09:58:41

标签: visual-studio-2010 rdlc page-break

我有一个包含Tablix的报告,而Tablix又包含多个子报告。

我需要报告的每个页面之间的条件分页符,我可以通过在Tablix中的最后一个子报告之后添加一个矩形来实现。然后我将矩形设置为在末尾有一个分页符,并使其可见性取决于传递给报告的参数。

这一切都很好,我在报告的重复部分之间得到了分页符,但是当分页条件为真时,我最终在报告的末尾有一个空白页。

有没有办法维护条件分页符,但最后没有空白页?

我的报告结构如下所示:

<Report>
  <Body>
    <Tablix>
      <Rectangle>
        <Rectangle>
          <SubReport>1</SubReport>
          <SubReport>2</SubReport>
        </Rectangle>
        <Rectangle>
          <SubReport>3</SubReport>
          <SubReport>4</SubReport>
        </Rectangle>
        <Rectangle>Page break rectangle with conditional visibility</Rectangle>
      </Rectangle>
    </Tablix>
  </Body>
</Report>

2 个答案:

答案 0 :(得分:0)

我设法找到了解决方案,虽然它不是很优雅。我基本上有2个tablix控件(包含相同的子报表数据,绑定等),每个控件都嵌套在自己的矩形中。打开一个组的每个实例之间的分页符,以及关闭此选项的一个。

然后我根据参数设置每个父矩形的可见性,即rectangle1 visibility = @PageBreak,rectangle2 visibility =!@pageBreak。

如果有人能提出更优雅的解决方案,我会非常感兴趣。

感谢。

答案 1 :(得分:0)

我的解决方案,

仅使用tablix(无矩形)......

为分页符添加新参数, 例如:@PageBreak布尔值或字符串,由你决定。

接下来,您可以在tablix中创建组行, 并将设置为正常运行, 这样的事情: = IIf(参数!PageBreak.Value = true,Fields!YourGroup.Value,“”)

然后确定。

*您可以删除在执行此操作时创建的行或列,而不删除该组(仅删除行/列)

接下来,找到您的论坛列表(通常在底部屏幕,行组), 并设置属性 - &gt; PageBreak = 介于

之间

这样做。

希望得到这个帮助。