crystal Report分两种模式:pull模式和push模式,其中pull模式直接连接数据库进行操作,而push模式需要一个DataSet做为报表文件.rpt和数据库的中介。通常push模式比较灵
活用的也比较多。
一、pull模式
创建报表的步骤:1、首先在工程中添加一个报表文件.rpt,使用空白报表。
2、使用数据库专家创建新连接OLEDB(ADO),然后将要使用的字段拖到报表文件的“详细信息”块中。
3、在工程中添加一个报表查看器crystalReportViewer,加载报表文件并将其数据源设置成报表文件.rpt.
注意问题:
1、需要实例化一个ReportDocument类对象,该类表示一个报表,用来定义、加载、导出报表等等;用ReportDocument.load(server.MapPath("report.rpt"))加载
报表文件。其中server.MapPath()用来映射服务器上的物理文件位置。
2、指定报表查看器的数据源crystalReportViewer.ReportSource
pull模式报表就是如此简单!
二、push模式
创建报表的步骤:1、添加一个数据集dataSet,使用sql语句指定想要的数据。
2、添加一个报表文件.rpt,使用数据库专家指定数据源,然后设计报表。
3、添加一个报表设计器,在程序中可以自定义sql语句,将结果保存在dataSet中,加载报表文件并设置报表数据源为dataSet,最终绑定。
疑惑:自定义的sql指定数据的范围不能超出第一步添加到dataSet中数据的范围。