我在我的应用程序中使用了ActiveReports
。它是一个包含100多页的连续报告。该报告也有SubReports
。它包含文本和少量图像。活动报告图片拆分
现在当生成报告时,主报告中的图像被分成两部分并显示出来。例如,如果页面5有一个图像分裂,前半部分显示在第5页,后半部分显示在第6页。
经过几次搜索,我发现插入page break
帮助。但我如何找到report
正在结束其页面,它有image
,所以我应该需要插入一个page break
?还是有更好的解决方案?
我在我的应用程序中使用了ActiveReports
。它是一个包含100多页的连续报告。该报告也有SubReports
。它包含文本和少量图像。活动报告图片拆分
现在当生成报告时,主报告中的图像被分成两部分并显示出来。例如,如果页面5有一个图像分裂,前半部分显示在第5页,后半部分显示在第6页。
经过几次搜索,我发现插入page break
帮助。但我如何找到report
正在结束其页面,它有image
,所以我应该需要插入一个page break
?还是有更好的解决方案?
设置部分KeepTogether属性为true的ActiveReports将确保部分保持在一起,跨页不分裂。希望这可以帮助。
一些搜索后,我找到了答案,从here
整合将q & A型,
2的方式来实现这一目标,
没有KeepTogether
财产的控制。指定将它们保持在一起的唯一方法是将控件放在段的“保持在一起”属性设置为true的段中。在这种情况下,该解决方案将无法工作。
1.其中一种方法是,在控件的上方有一个PageBreak
控件,并且您必须动态计算您在页面上的位置。然后,您可以使用MeasureParagraphHeight
方法来查看控件呈现文本所需的高度,并且如果PageBreak的启用属性不适合页面,则将其设置为true。在这种方法中,您还需要考虑您的保证金高度。
如果有SubReports
,不幸的是SubReports
并不总是遵循KeepTogether
规则。除非绝对必要,否则子报表实际上应该被避免,因为您正在运行额外报告&,这会增加开销。
2.在这种情况下,我实际上会使用另一个groupheader节datafield
属性设置为重复每一行数据。然后将详细部分中的现有控件移动到内部GroupHeader
。控件仍将显示一行数据。然后可以使用该部分的KeepTogether属性集将控件隔离在它自己的部分中。
我已经使用第二种方法来实现我的工作。
该部分有许多面板,如果整个部分不合适,则使属性为true跳过。我只需要图像面板来检查是否合适。 – iamCR
任何其他方式来实现? – iamCR