在这篇文章中,我想讲解一下ReportPage对象的PrintOnPreviousPage属性。它是如何起作用的?如果你有一份两页的报表,可以在第二页设置该属性为true,然后,如果第一页留有空余空间,则第二页的对象将部分或全部被移动到第一页。这样,你可以在打印报表时节省纸张,或者只是简单地改善报表的外观(如果页面上的空白让报表看上去不协调的话)。这些对于一般报表页面都很有用。但是,如果你使用了UnlimitedHeight或UnlimitedWidth属性,则必须遵循一定的限制才能连接页面:
- 页面必须启用UnlimitedHeight或UnlimitedWidth属性;
- 如果两个页面都启用了UnlimitedHeight属性,则它们必须具有相同的宽度,否则启用UnlimitedWidth属性;
- 对于你想要与前一个页面合并的页面,必须启用PrintOnPreviousPage属性。
如果你不遵守这些限制,则页面将不会合并。合并不限数量的页面的功能从v2017.1.13开始可用。
现在我们来练习一下。创建一个包含两个页面的报表:
和:
页面宽度都是21厘米。这两个页面都启用了UnlimitedHeight属性。对于第二页,启用PrintOnPreviousPage属性。运行报表:
可以看到页面合二为一了。现在,将其中一个页面的工作表宽度从21更改为22:
页面没有合并。
现在,为这两个页面启用UnlimitedWidth属性:
页面再次合并了。第三页的要求与第二页的要求相同。如果我们禁用第二页的PrintOnPreviousPage属性,并在第三页启用。这将只合并第二和第三页:
就是这样,现在你可以使用PrintOnPreviousPage属性和“无限”页面,将有多页的报表合为一页。