如何在报表打印时,将多页合为一页

在这篇文章中,我想讲解一下ReportPage对象的PrintOnPreviousPage属性。它是如何起作用的?如果你有一份两页的报表,可以在第二页设置该属性为true,然后,如果第一页留有空余空间,则第二页的对象将部分或全部被移动到第一页。这样,你可以在打印报表时节省纸张,或者只是简单地改善报表的外观(如果页面上的空白让报表看上去不协调的话)。这些对于一般报表页面都很有用。但是,如果你使用了UnlimitedHeight或UnlimitedWidth属性,则必须遵循一定的限制才能连接页面:

  • 页面必须启用UnlimitedHeight或UnlimitedWidth属性;
  • 如果两个页面都启用了UnlimitedHeight属性,则它们必须具有相同的宽度,否则启用UnlimitedWidth属性;
  • 对于你想要与前一个页面合并的页面,必须启用PrintOnPreviousPage属性。

如果你不遵守这些限制,则页面将不会合并。合并不限数量的页面的功能从v2017.1.13开始可用。

现在我们来练习一下。创建一个包含两个页面的报表:

报表打印 页面合并

和:

报表打印 页面合并

页面宽度都是21厘米。这两个页面都启用了UnlimitedHeight属性。对于第二页,启用PrintOnPreviousPage属性。运行报表:

报表打印 页面合并

可以看到页面合二为一了。现在,将其中一个页面的工作表宽度从21更改为22:

报表打印 页面合并

页面没有合并。

现在,为这两个页面启用UnlimitedWidth属性:

报表打印 页面合并

页面再次合并了。第三页的要求与第二页的要求相同。如果我们禁用第二页的PrintOnPreviousPage属性,并在第三页启用。这将只合并第二和第三页:

报表打印 页面合并

就是这样,现在你可以使用PrintOnPreviousPage属性和“无限”页面,将有多页的报表合为一页。

posted @ 2018-01-25 09:54  zhaogaojian  阅读(1521)  评论(0编辑  收藏  举报