Crystal reports 在crystal reports中格式化子报表

Crystal reports 在crystal reports中格式化子报表,crystal-reports,subreports,Crystal Reports,Subreports,我正在将crystal报告导出为pdf文档。我有一个详细的部分,包含两个子报告并排。查看pdf时,我看到显示子报表数据的框具有不同的高度,尽管将两个框设置为相同的高度。此外,两个子报告中详细信息部分的高度也相同。子报告的高度与预览报告时的高度不同。数据将垂直添加,因此子报告的大小会增加,我看不出报告行为有任何错误 如果这不是您的问题,请提供有关您在两个子报表中显示的数据的更多信息。主报表中子报表对象的垂直大小实际上并不重要,因为子报表将根据需要增大以适应(水平维度不是这种情况) 因此,为了拥有两

我正在将crystal报告导出为pdf文档。我有一个详细的部分,包含两个子报告并排。查看pdf时,我看到显示子报表数据的框具有不同的高度,尽管将两个框设置为相同的高度。此外,两个子报告中详细信息部分的高度也相同。

子报告的高度与预览报告时的高度不同。数据将垂直添加,因此子报告的大小会增加,我看不出报告行为有任何错误


如果这不是您的问题,请提供有关您在两个子报表中显示的数据的更多信息。

主报表中子报表对象的垂直大小实际上并不重要,因为子报表将根据需要增大以适应(水平维度不是这种情况)

因此,为了拥有两个大小完全相同的并排子报表,您需要满足两个条件:

  • 子报表本身的大小必须完全相同 尺寸。这包括所有可见的子报表部分

  • 每个子报表中应有相同数量的记录。如果一个子报表有1条记录,而另一个子报表有5条记录,那么显然这两个子报表的大小最终会不同


  • 防止这种情况的最简单方法就是不要将它们并排放置。如果您不想这样做,那么您可以尝试增加每个子报表的大小,这样子报表就可以容纳最多5条记录,因此不需要再增加大小。如果这些操作不起作用,您可以向每个子报表添加占位符部分,并根据每个子报表中的记录数有条件地抑制它们。例如,每个子报表有5个部分,对于要显示的每个附加记录,您将抑制其中一个部分。

    我知道,两个子报表中可以显示的最大记录数始终为5,但每个子报表显示的记录数可能不同。打印pdf时,子报告框的不同高度看起来不太好。有没有办法避免这种情况?我解决了这个问题,总是在绑定到子报表的集合中插入所需数量的记录(在我的例子中是5条记录)。我必须在.NET类中添加一个伪属性来保存序列号。我用序列1-5添加了五行,之后根据从数据库返回的记录数设置其他属性。