创建 Crystal 报表时,报表的数据选择通过“where”条件来控制。该“where”条件的值可以是硬编码值。但是在该值必须为动态时,系统会创建一个参数并将“where”子句赋给该参数。根据您是使用编码模型还是精简代码模型进行开发,参数的处理是不同的。
使用编码模型进行开发时,Crystal Reports for Visual Studio 通过 Crystal Reports SDK 中的一组参数相关类来访问参数并与之交互。
当使用精简代码模型(基于标记的应用程序模型)进行开发时,CrystalReportSource 控件将通过使用参数框架访问参数并与之交互。参数框架是 ASP.NET 2.0 版的新功能。利用它可以将参数赋给任何 DataSource 控件(本例中为 CrystalReportSource 控件。)可以将这些参数赋给主报表和任何子报表(如果它们需要参数)。
将依据以下任何参数类型对参数进行赋值:
- ControlParameter
- QueryStringParameter
- SessionParameter
- FormParameter
- CookieParameter
此参数赋值使您能够创建一个精简代码解决方案,在该方案中报表参数的值可以来自:DropDownList 控件(或其他类型的控件)中的选择、URL 查询字符串的值、从 Session 中获取的值、由窗体字段回送的值,或者是来自 Cookie 的值。
在 XML 中直接设置参数
在 XML 中,<Parameters> 标记嵌套在 <CrystalReportSource> 标记内。在嵌套的 <Parameters> 标记内,可以配置指向默认参数或控件中某参数的链接。
以编程方式设置参数
Crystal Reports SDK 的编码模型总是能够对参数进行设置。有关更多信息,请参见“教程:读取和设置离散参数”和“教程:读取和设置离散参数”。
访问“参数集合编辑器”对话框
参数是在“参数集合编辑器”对话框中配置的。
- 选择“CrystalReportSource”控件。
- 从“属性”中展开“Report”。
- 在“报表”属性内,单击“参数(集合)”最右边的省略号 (...)。
- 在“参数集合编辑器”对话框中,输入主报表以及任何子报表的一个或多个参数。
注意有关配置此对话框的详细信息,请参见教程“网站中的精简代码安全数据库登录”。