如何在Crystal Report上放置特定行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Crystal Report上放置特定行相关的知识,希望对你有一定的参考价值。

我有一个Crystal Report,它调用存储过程来返回包含各种值的表。

我希望在报告的各个位置放置此表的各行。为此,我使用公式中指定的数据项创建公式字段: -

{sp_MyReport.Column1}

并在必要时将它们分散在报告中。要选择不同的行,我将选择公式更改为: -

{sp_MyReport.IdColumn} = 2

但是当我这样做时,所有其他公式字段中的记录选择都会更改为匹配,因此我只能显示一行数据项。

首先,创建公式字段是正确的方法来解决这个问题(我必须在标题中隐藏文本,这表明它可能不是预期用途)?

如果是这样,我如何让不同的公式字段显示不同的行?

如果没有,我该怎么办?

答案

一种方法是创建包含存储过程的子报表,然后使用共享变量缓存值。

定义应在主报表中显示的每个值的变量,并为其分配相应的值。

子报表中的公式如下所示:

WhilePrintingRecords;
Shared NumberVar myValueX;
Shared NumberVar myValueY;

//assign the corresponding value to the variable
If {sp_MyReport.IdColumn}=2 Then myValueX := {sp_MyReport.ValueColumn}
If {sp_MyReport.IdColumn}=3 Then myValueY := {sp_MyReport.ValueColumn}

要在主报表中显示值,请按如下方式创建公式:

WhilePrintingRecords;
Shared NumberVar myValueX;

子报表应放在报表头部分内,因为变量总是从上到下进行评估。

要隐藏子报表,只需减小大小,直到它足够小,以适应报表的某处,而不会“破坏”报表设计。 (不要压缩子报表,因为它不会被评估。)

以上是关于如何在Crystal Report上放置特定行的主要内容,如果未能解决你的问题,请参考以下文章

Crystal Report 7替代行颜色

换行不适用于Crystal Report文本字段

Crystal Report,根据Criteria将行分组为单行

在 ASP.NET 中打开 Crystal Report 时出错

隐藏或禁用 Crystal Report 参数面板

Crystal Report - 从子报告中打印信息