Crystal reports Crystal报告:不同的标题行

Crystal reports Crystal报告:不同的标题行,crystal-reports,Crystal Reports,我的datasource连接了一个父级和一个细节表,因此每个细节记录的父级数据都是重复的,如下所示: ParentCol DetailCol-1 DetailCol-2 A Orange 15 A Pinaple 10 A Grape 8 B Orange 10 B Grape

我的datasource连接了一个父级和一个细节表,因此每个细节记录的父级数据都是重复的,如下所示:

ParentCol   DetailCol-1   DetailCol-2
    A           Orange          15
    A           Pinaple         10
    A           Grape            8
    B           Orange          10
    B           Grape            7
我需要使用一个主报表来显示主报表上的父列,并使用一个子报表来使用“ParentCol”列将其与相同的数据链接到子报表。我将向主报表和子报表传递相同的数据源,因为我不会进行两次查询,我们希望通过这个想法提高性能。请注意,我无法使用分组来实现这一点


第1页-主要报告

 ParentCol:  "A"
 ParentCol:  "B"

子报告

                  Orange        15
                  Pinaple       10
                  Grape          8
                  Orange        10
                  Grape          7


第2页-主要报告

 ParentCol:  "A"
 ParentCol:  "B"

子报告

                  Orange        15
                  Pinaple       10
                  Grape          8
                  Orange        10
                  Grape          7

我怎样才能做到这一点

编辑: @Ryan是对的,问题是我试图在不同的信息上下文中使用相同的数据源。我当然可以只使用主/详细模式来可视化所需的数据,主列不会重复,但详细信息将按需要显示

如果我使用的子报表与主报表上使用的数据相同,那么即使使用子报表链接,我也会生成细节上显示的笛卡尔乘积。这行不通


因此,我将避免对主报表和子报表使用相同的查询

右键单击您已经获取的Crystal报表

选择“插入”选项,然后选择要插入子报表的子报表

然后右键单击子报表,选择编辑子报表,并使用所需字段绑定到子报表

然后是主报告

再次右键单击子报表并选择“更改子报表链接”选项卡,以在主报表字段和子报表字段之间建立关系


现在点击预览。您将获得所需的输出

您使用子报表的具体原因是什么?如果要将报表限制为单个查询,则需要避免使用它们。我也不认为需要使用子报表。您可以通过单个分组级别(ParentCol)、组标题部分和详细信息部分来实现这一点。如果需要保留原始排序顺序,请确保将组配置为“原始顺序”。我使用子报表,因为这不是我将在报表上显示的唯一数据。那么,我应该停止使用子报表来完成这项任务吗?为什么?在这里不使用子报表的原因:(1)到目前为止,没有任何迹象表明您需要子报表,(2)子报表增加了设计的复杂性,以及(3)子报表通常会降低报表的执行速度。我发现在主报表和子报表上使用相同的数据集不是一个好主意,因为我永远不会得到所需的输出。这种方法会起作用,并且确实避免了笛卡尔积,但如上所述,在这种情况下似乎不需要子报表。