简介
在本教程中,将学习如何通过数据集模式把 Crystal 报表连接到 ADO.NET 数据集。从 ADO.NET 数据集生成报表需要一些额外的步骤,因为报表没有直接连接到数据库。
ADO.NET 数据集模式提供了一种 XML 格式的数据结构模板。但是,报表不能直接从数据集模式获取数据。必须先把数据集模式实例化为强类型的数据集实例或一般数据集实例。然后必须通过使用 DataAdapter 类对数据集实例填充数据。
在本教程中,由于基于 ADO.NET 数据集创建报表的过程更复杂,所以我们把创建模式和填充数据集所要遵循的过程,与 Crystal Reports 绑定代码小心地分离开来。
注意 |
|---|
Crystal Reports for Visual Studio 提供一个名为“数据集”的模板,用于创建 ADO.NET 数据集模式。在用 Visual Studio 2005 和更高版本创建的网站中,无法从“添加新项”对话框中访问数据集模板。唯一可用的是默认的“XML 模式”模板。但是,只要在代码中略作调整(在后面的步骤中说明),就可使用默认模板 XML 模式来得到相同的结果。 |
首先,您要创建数据连接,并生成基于该连接的数据集模式。然后创建一个帮助器类,该类带有返回数据集的填充实例的属性。最后,您要编写把 Crystal 报表绑定到数据集的代码。
对于 Crystal 报表绑定代码,需编写代码以执行下列操作:
- 实例化报表。
- 将其 SetDataSource 属性设置为通过帮助器类填充的数据集属性。
- 将填充的 Crystal 报表绑定到 CrystalReportViewer 控件。
最后,如果您是在构建网站,请将填充的数据集实例放入 ASP.NET Cache 对象中,以提高性能和可伸缩性。
建议您把数据集配置过程与 Crystal 报表绑定过程分开,这样既可以在绑定报表时保证代码清楚明了,又可提升数据集在不同 Web 或 Windows 项目中的可重用性。
示例代码
此教程附带 Visual Basic 和 C# 示例代码,这些代码显示了项目完成后的版本。请按照本教程中的说明创建新项目或打开示例代码项目,以利用完成后的版本进行工作。
示例代码保存在按语言和项目类型分类的文件夹中。各示例代码版本的文件夹名称如下:
- C# 网站:CS_Web_Data_DataSets
- C# Windows 项目:CS_Win_Data_DataSets
- Visual Basic 网站:VB_Web_Data_DataSets
- Visual Basic Windows 项目:VB_Win_Data_DataSets
欲知包含这些示例的文件夹的位置,请参见“教程的示例代码目录”。
注意