教程:读取和设置子报表的参数

Note注意

要完成此教程,必须完成前一个教程“教程:读取和设置离散参数”

简介

在前一教程“教程:读取和设置离散参数”中,您已学习了如何创建带参数的报表,以及如何编写代码以在运行时设置该参数(使用的都是硬编码参数值和从 ListBox 控件传递的参数值)。

在本教程中,将学习如何将参数添加到子报表。

您需要对在“教程:读取和设置离散参数”中创建的项目作四处修改:

  • 将一个子报表添加到原始报表中。

    该子报表处理 Xtreme 数据库的“订单”表。“订单”表通过“客户 ID”外键与前一教程中使用的“客户”表相关。

  • 向子报表添加一个范围参数,它按订单日期范围进行过滤。

  • 向窗体添加两个 Text 控件 orderStartDate 和 orderEndDate,以在运行时设置订单日期范围。

  • 添加一个新方法。

    此方法创建一个包含 startDate 和 endDate 值的 ParameterRangeValue 实例,然后把该 ParameterRangeValue 实例传递到子报表中的范围参数。

完成本教程后,可过滤运行时在报表上显示的值。所添加的代码可限制在主报表中显示的城市数,以及限制要在子报表中显示的订单日期范围。

也可使用 CrystalReportViewer 对象模型的类完成本教程,但推荐使用 ReportDocument 对象模型。有关对象模型用法的详细信息,请参见“应该使用哪种对象模型?”

若要使用 CrystalReportViewer 对象模型完成本教程,请参见“教程:读取和设置子报表的范围参数”

示例代码

此教程附带 Visual Basic 和 C# 示例代码,这些代码显示了项目完成后的版本。请按照本教程中的说明创建新项目或打开示例代码项目,以利用完成后的版本进行工作。

示例代码保存在按语言和项目类型分类的文件夹中。各示例代码版本的文件夹名称如下:

  • C# 网站:CS_Web_RDObjMod_ParametersSubrpt
  • C# Windows 项目:CS_Win_RDObjMod_ParametersSubrpt
  • Visual Basic 网站:VB_Web_RDObjMod_ParametersSubrpt
  • Visual Basic Windows 项目:VB_Win_RDObjMod_ParametersSubrpt

欲知包含这些示例的文件夹的位置,请参见“教程的示例代码目录”

在此节中:

请参见