将数组值传递给子报表

时间:2015-01-06 14:25:44

标签: crystal-reports-2010

我是水晶报告的新手,我需要帮助。 我有一个包含两个组的报告,项目ID和work_item。我在工作项目组中放置了3份子报告材料,人工和设备报告。它们将值传递给主报表,该报表用于进一步计算,该报表特定于工作项。

由于它是特定的工作项,我将最终结果放在工作项组页脚中。

我在工作项组页脚中放置了另一个称为工程量清单的子报表,该报表需要最终值。它也是特定于工作项目传递的值很好,但我遇到了格式问题。

在显示一个工作项的详细信息之后,子报告详细信息跟随它,我不希望它显示。我尝试将子报告放在项目ID组页脚中。我需要的格式是好的,但传递的值对于子报告中的所有工作项都是相同的。

我需要的是在显示主报告的所有细节之后显示子报告详细信息。

有没有办法将工作项的最终值存储在数组中并将它们传递给子报表。sample output

1 个答案:

答案 0 :(得分:0)

嗯,是的,您可以在加载主报表时将详细信息存储在数组中,然后循环显示主报表的数据:

shared stringvar array items;
for int i:=1 to limit(count of project_id)
do
(
whileprintingrecords;
items[i]:= //add values, you can make a logic, this is just the demo
);
items;

然后只需将此公式放在子节点上方的抑制部分中,以便可以在子报表中传递值。

声明一个公式,并使用共享值:

shared stringvar array items;
numbervar count_i:=//get the count of items and add array values into another formula/field.

//place that field in subreport, this may require some brainstorming from your end, but this is the way in general.