《第五讲水晶报表ppt课件》由会员分享,可在线阅读,更多相关《第五讲水晶报表ppt课件(23页珍藏版)》请在金锄头文库上搜索。
1、水晶报表水晶报表西源软件培训中心西源软件培训中心回顾u.NET 中,System.Drawing.Printing 命名空间提供以下用于打印的类:uPrintDocument uPrintController uPrintEventArgsuPrintPageEventArgs uPrinterSettings uPageSettings u.NET 提供两个控件 PrintDocument 和 PrintDialog,用于在应用程序中实现打印功能。u.NET 提供两个控件 PrintPreviewControl 和 PrintPreviewDialog,用于预览要打印的文档并将设置应用到此文
2、档。u.NET提供了方便地创建、安装和注册Windows服务的方案,可重写OnStart、OnStop方法来定制服务内容uWindows 服务需要使用 installutil.exe 工具安装在需要运行该服务的特定计算机上目标u理解水晶报表的作用和优点u使用水晶报表专家创建水晶报表u在窗体中使用水晶报表和报表绑定简介产品部的薪金详细信息财务部的薪金详细信息市场部的薪金详细信息按顺序显示信息汇总信息?报表格式化且有条理的数据记录表示方式水晶报表简介姓 名 : Allen John职位:分析员部门:20薪金:10000姓 名 : Jack Turner职位: 行政人员部门: 10薪金: 3200姓
3、 名 : Mark Lee职位: 经理部门: 30薪金: 12000姓名: Chan Cho职位: 销售员部门: 40薪金: 7600姓 名 : David Blake职位: 销售员部门: 40薪金: 6500姓名: Susan Jones职位: 行政人员部门: 10薪金: 4500姓 名 : Scott William职位: 销售员部门: 40薪金: 8500姓名: Adam Johns职位: 分析员部门: 20薪金: 9500用表格形式显示的数据需要手动计算每个部门的总薪金水晶报表简介姓名姓名姓名姓名职职位位位位部部部部门门薪金薪金薪金薪金Jack Turner行政人员103200Susa
4、n Jones行政人员104500部部门 10 的的总薪金是薪金是 7700Allen John分析员2010000Adam Johns分析员209500部门 20 的总薪金是 19500 Mark Lee经理3012000部部门 30 的的总薪金是薪金是 12000 Chan Cho销售员407600David Blake销售员406500Scott William销售员408500部部门 40 的的总薪金是薪金是 22700 有条理的表示数据记录更容易汇总所需的信息水晶报表简介u水晶报表是 Visual Studio 环境(包括 Visual Studio.NET)中用于创建报表的标准工具
5、u利用水晶报表可以创建交互式的优质报表u不仅能为 WinForms 和 WebForms 创建报表,还能将报表作为Web 服务存放在 Web 服务器上u“水晶报表设计器”界面用于创建并格式化报表,大大减少代码编写量水晶报表的功能运行时自定义报表查看器与其他控件之间的交互报表作为Web服务借助交互式界面更加容易地创建报表水晶报表水晶报表水晶报表查看器拖放CrystalReportViewer 的属性、方法和事件属性属性DisplayGroupTreeDisplayToolbarReportSource方法方法GetCurrentPageNumber()RefreshReport()命名规则:在C
6、rystalReportViewer控件前加“crv” 事件事件HandleException正确地命名:crvSalesReport 、 crvBalanceSheetReport使用水晶报表专家可帮助用户创建多种报表、绘制各种图形、设置报表的整体格式、连接数据库,以及根据用户的选择指定数据库中的记录等。 创建窗体后,在添加新项中添加“Crystal Report”,将自动启动水晶报表设计器,进入“标准报表专家”中。 “标准报表专家”可帮助定义报表的数据源、选择要使用的数据记录并对其进行分组,还可以格式化报表对象和布局。 使用水晶报表专家选择水晶报表使用水晶报表专家扩展 OLE DB(ADO
7、) 部分用于 SQL Server 的 OLE DB 提供程序使用水晶报表专家选择所需的表并将其插入到报表中。可以将表的所有字段或指定字段添加到报表中。水晶报表应用程序示例u水晶报表支持 ADO.NET 数据集。u可以使用各种数据源创建 ADO.NET 数据集。u使用 ADO.NET 数据集创建报表需遵循以下步骤。u生成一个 数据集 对象。u连接至 ADO.NET 数据集 对象。uADO.NET 数据集设计器用来创建只包含数据结构而不包含实际数据的 DataSet 对象。 u要在报表上显示实际数据,可将数据库中的数据传递至 ADO.NET 对象模型中的 DataSet 对象中。 u将这个已填入
8、数据的 DataSet 传递至报表引擎。 u最后,将报表对象绑定至 WinForms 中相应水晶报表查看器上。 水晶报表应用程序示例新建 Windows 应用程序,从菜单中选择“项目” “新建项目”在“类别”区域中展开“本地项目项”,选择“数据”,从“模板”区域选择“数据集”使用“服务器资源管理器”窗口创建新的链接将服务器资源管理器中的 Book 表拖至“数据集”选项卡水晶报表应用程序示例从“生成”菜单中选择“生成解决方案” 为该项目生成一个数据集对象注意:生成的数据集对象不包含实际的数据,只包含对数据库结构的描述 水晶报表应用程序示例向该窗体添加水晶报表项。选择“Crystal Report
9、 库”窗口中的默认项在“标准报表专家”窗口中展开“项目数据”文件夹展开 ADO.NET 数据集, 并选择 DataSet 对象选择 Book 表,单击“插入表”。在“字段”选项卡中添加所有列在“组”选项卡中选择 Publisher列,单击“添加”,将选中的列添加到“分组依据”中可用于指定一个或多个字段来汇总特定组水晶报表应用程序示例默认情况下,“汇总字段”部分显示数据类型为数字的所有字段,因为只能对这种数据类型执行统计操作创建报表后,将数据填充到数据集对象中,并在报表查看器中显示数据水晶报表应用程序示例创建报表后,将其与需要该报表的应用程序中的报表查看器进行绑定。打开“工具箱”,并将 Crys
10、talReportViewer 控件拖放到窗体上,即在窗体上添加了水晶报表查看器。 CrystalReportViewer包含允许自定义和控制报表的外观及行为的属性 将 System.Data.SqlClient 命名空间添加到该窗体中 在类声明部分中添加以下代码public BooksCrystalReport objBooksCrystalReport = new BooksCrystalReport ();水晶报表应用程序示例在 InitializeComponent() 方法后的构造函数中添加代码string strCon=server=SQLDB;uid =sa; password=
11、; database = Book;string strSelect=select * from Book;SqlConnection objSqlConnection = new SqlConnection(strCon);SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter (strSelect,objSqlConnection);/为BooksDataset数据集声明一个实例DataSet objDataSet = new BooksDataset();/将数据填充到数据集实例objDataSet中objSqlDataAdapter.
12、Fill (objDataSet, Books);objBooksCrystalReport=new BooksCrystalReport();/设置水晶报表实例的数据源objBooksCrystalReport.SetDataSource(objDataSet.TablesBooks);/ 将含有数据的报表对象绑定到 水晶报表查看器上crvBooksReportViewer.ReportSource = objBooksCrystalReport;水晶报表应用程序示例u使用报表设计器可以将图表插入到水晶报表中u在水晶报表中可使用选择公式筛选记录u可在窗体的 Load 事件中指定选择公式pri
13、vate void frmBooksReport_Load(object sender, System.EventArgs e) this.crvBooksReportViewer.SelectionFormula= Book.Price = 70; this.crvBooksReportViewer.RefreshReport();总结u水晶报表是用于创建报表的标准工具u水晶报表的优点包括:u运行时自定义u报表查看器与其他控件之间的交互u报表作为 Web 服务u开发 Windows 应用程序时,可以使用CrystalReportViewer控件将报表绑定到 WinForms窗体上uADO.NET 数据集设计器用于创建只包含数据结构而不包含实际数据的数据集对象u水晶报表中的选择公式可用于计算字段和汇总,确定如何显示报表的输出结果