Parameters 选择要查看的子报表

Parameters 选择要查看的子报表,parameters,crystal-reports,subreport,Parameters,Crystal Reports,Subreport,我已经创建了一个包含5个子报告的报告。我想做的是创建一个参数,让用户选择要查看的子报表,但不知道如何创建。主报表中没有数据,只有子报表。您可以创建一个参数并在“值”字段中添加子报表选项。如果希望用户能够选择多个报告,请确保将参数设置为接受多个值。 然后,您可以创建多个详细信息部分并根据参数值抑制每个部分,或者右键单击子报表,单击“格式化子报表”,然后根据参数值对子报表执行条件抑制。 公式可能类似于: {?parameter} <> "subreportName" OR not({?p

我已经创建了一个包含5个子报告的报告。我想做的是创建一个参数,让用户选择要查看的子报表,但不知道如何创建。主报表中没有数据,只有子报表。

您可以创建一个参数并在“值”字段中添加子报表选项。如果希望用户能够选择多个报告,请确保将参数设置为接受多个值。 然后,您可以创建多个详细信息部分并根据参数值抑制每个部分,或者右键单击子报表,单击“格式化子报表”,然后根据参数值对子报表执行条件抑制。 公式可能类似于:

{?parameter} <> "subreportName" OR
not({?parameter} in ["subreportName1", "subreportName2", etc..]) = True
{?参数}“subreportName”或
在[“subreportName1”、“subreportName2”等中不({?参数}])=True
或者,您可以创建一个按需子报表,该子报表仅在用户单击时运行

  • 首先在报告中创建5个部分。您可以通过转到部门专家,选择报告标题并单击“插入”按钮5次来完成此操作。您将得到报告头a到e

  • 在创建的每个部分中添加每个子报表

  • 创建一个字符串参数,给它一个类似于
    Myparam
    的名称,并在值部分添加5个值。例如:
    report1
    report2
    report3
    report4
    report5
    。更改选项以允许多个值为True

  • 在“专家”部分中,选择报告标题a,并在“抑制”(无向下展开)中的公式中添加此公式

    not({?Myparam}中的“report1”)

  • 为每个部分添加。当您浏览每个部分时,公式将根据报告名称的更改而更改。对于b部分,您的公式将更改为:

    not({?Myparam}中的“report2”)

  • 拖动报告上的参数。如果不希望其可见,请将其抑制。测试报告。该公式适用于选择一个或多个报告