在同一张纸上打印多份.Crystal Reports. net

本文关键字:打印 Crystal net Reports 一张 | 更新日期: 2023-09-27 18:12:06

使用Crystal Reports和. net我有一个要求,我需要在每张表格上打印2份相同的报告。我可以使用两个子报表将CanGrow设置为false,但这不起作用,因为我的报表可能有多个页面,并且CanGrow只会裁剪报告的其余部分。将CanGrow设置为false将导致两个报告重叠,或者一个接一个地打印。我也试着做一个双重报告,页眉-详细信息-页脚,和页眉-详细信息-页脚再次(重复相同的信息),但水晶报告不允许我有多个详细信息部分(与页眉页脚部分之间)。

我可以使用MsWord复制我想要的东西,在打印设置中将打印机设置"打印多份"更改为2,然后键入并设置页面范围为"页面:1,1,2,2,3,3,4,4……"但是Crystal Reports的打印API不允许我调整这些设置,甚至不允许从。net打印API,所以我想使用本地Win32 API,但即使我能够在Win32上做到这一点,我也不知道如何告诉Crystal Reports使用我的打印功能。

我对水晶报告很陌生,所以也许有一个简单的解决方案。如果有人能帮忙。

在同一张纸上打印多份.Crystal Reports. net

我认为您需要保持您的子报告的方式,与您想要复制的报告细节,但是您不能将子报告的两个实例放在同一个部分中,并期望它们正确地间隔自己。您需要在主报表中为第二个子报表使用第二个详细信息部分,然后它们不应该相互覆盖。detail部分都需要设置changrow = true


好了,所有你需要的是2个报告,一个是客户想要的格式(页眉、页脚等)作为子报告,另一个没有任何页眉或页脚,但有两个细节部分,其中change =true,每个细节部分都有一个子报告的实例。我不知道为什么你想要一个新的页面后5条记录,但试着把它拿出来,看看你是否可以打印相同的子报告两次主报告。

我想我算是解决了。我创建了两个报告:original和Copy,并抑制了除details部分之外的所有部分,并使用这里提到的解决方案添加了一个组:

http://www.c-sharpcorner.com/UploadFile/mahesh/SubReportPH10062006160749PM/SubReportPH.aspx

可以使用在每页重复的页眉。

我把所有的页眉信息放在组页眉上,报告页脚信息放在组页脚上(其他部分不能使用,因为它们不会尊重我需要的间距,这是这个解决方案的主要缺点),并将详细信息部分限制为一些记录,这些记录将只填满页面的一半。在复制版本中,我在页眉处添加了相当于半个页面的空间。然后,我创建了一个报表,它将保留所有部分都被抑制的子报表,只有一个详细信息部分,并将两个子报表叠加在一起。这将在页面底部打印第二个子报告,从标题中留出空间,让第一个子报告在顶部打印,我现在仍然不知道如何在每页上重复基础部分,但我认为我不需要它。