活动报告-在最终打印之前了解控件所在的页面

本文关键字:控件 了解 报告 打印 活动 | 更新日期: 2023-09-27 17:59:37

添加完所有报表数据后,我需要找出控件所在的页面。根据上面添加了多少数据(例如表行),控件可能在第1页、第2页甚至第3页。需要页码的原因是为了查明该控件是否跨两页。如果是这样,那么我想把它向下推,以确保它不会分裂成两页

由于有问题的控件是在ReportStart事件期间动态添加的,我无法判断它最终会出现在哪个页面上,因为报告数据尚未添加。

我确信我能够在Detail_BeforePrint事件中做到这一点,因为它为报告的每一页激发,而this.PageNumber给出了当前页面。

Detail_BeforePrint中,我可以使用找到控件

    var myControl= this.Detail.Controls["MyControl"];

但是myControl没有任何属性可以表明它在哪个页面上。有人能帮忙吗?

我正在使用Active Reports 6和Visual Studio 2010

活动报告-在最终打印之前了解控件所在的页面

您想要的是不可能找到的。您可以从报表中检索pageNumber,但这会告诉您控件将打印到的最后一页。该控件没有页码,因为它可以打印在多个页面上。

尽管如此,使用KeepTogether属性还是可以获得您想要的效果。如果您将其设置为true,AR将始终尝试将控件保留在单个页面上,并自动为您移动控件。它处理控件的长度可能超过一页的情况,因此不需要移动它,因为这不会产生任何影响。希望这能有所帮助。