如何根据子报表中的主报表获取数据

时间:2014-09-22 08:59:46

标签: c# asp.net crystal-reports subreport

让我先向您展示我的数据

这是我的第一张桌子 的表1

123

这里是第二个表('refid'是Table1中'id'的外键) 的表2

345

现在我需要报告如下所示的内容

565333

此报告显示主表中包含值为0到2的子项的所有项目 这里的子项目框是子报告。

那么我如何在水晶报告中做到这一点?

我必须尝试绑定包含所有主要项目的主报告,但我不知道如何绑定子报告

1 个答案:

答案 0 :(得分:1)

您可以在一个不需要子报告的报告中实现所有这些。

1)首先根据以下查询构建报告,添加适当的表并加入它们:

SELECT * FROM TABLE1 t1
    INNER JOIN TABLE2 t2 on t1.id = t2.refid

2)在报告中创建2个组。第1组:Table1.id和第2组:Table2.id

3)完成后,在Group1下添加table1.Name字段,在Group2下添加table2.Itemtable2.Value

4)在Group2上,添加列标题。

5)在“详细信息”部分,插入数据字段,在“详细信息”部分{table2.value} < 0 AND {table2.value} > 2上添加“抑制公式”。当值不在0和2之间时,这将隐藏此部分。

5)创建一个文本字段,其中包含文本“No Rows found”

6)然后右键单击“详细信息”部分,单击下面的“插入”部分(添加另一个详细信息部分)并在此部分中插入上面创建的字段。

7)右键单击详细信息部分B,然后添加抑制公式{table2.value} > 0 AND {table2.value} < 2.当值介于0和2之间时,这将隐藏此部分。

8)如果您希望Totals为值,请在GroupB页脚上插入Group2.Value字段中的摘要。