教程:读取和设置子报表的参数
注意 |
---|
要完成此教程,必须完成前一个教程“教程:读取和设置离散参数”。 |
简介
在前一教程“教程:读取和设置离散参数”中,您已学习了如何创建带参数的报表,以及如何编写代码以在运行时设置该参数(使用的都是硬编码参数值和从 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
欲知包含这些示例的文件夹的位置,请参见“教程的示例代码目录”。