水晶报表教程.ppt
《水晶报表教程.ppt》由会员分享,可在线阅读,更多相关《水晶报表教程.ppt(23页珍藏版)》请在冰豆网上搜索。
第七章水晶报表水晶报表回顾回顾p.NET.NET.NET.NET中,中,中,中,System.Drawing.PrintingSystem.Drawing.PrintingSystem.Drawing.PrintingSystem.Drawing.Printing命名空间提命名空间提命名空间提命名空间提供以下用于打印的类:
供以下用于打印的类:
供以下用于打印的类:
供以下用于打印的类:
PrintDocumentPrintControllerPrintEventArgsPrintPageEventArgsPrinterSettingsPageSettingsp.NET.NET.NET.NET提供提供提供提供两个控件两个控件两个控件两个控件PrintDocumentPrintDocumentPrintDocumentPrintDocument和和和和PrintDialogPrintDialogPrintDialogPrintDialog,用于在应用程序中实现打印功能,用于在应用程序中实现打印功能,用于在应用程序中实现打印功能,用于在应用程序中实现打印功能。
p.NET.NET.NET.NET提供提供提供提供两个控件两个控件两个控件两个控件PrintPreviewControlPrintPreviewControlPrintPreviewControlPrintPreviewControl和和和和PrintPreviewDialogPrintPreviewDialogPrintPreviewDialogPrintPreviewDialog,用于预览要打印的文档并,用于预览要打印的文档并,用于预览要打印的文档并,用于预览要打印的文档并将设置应用到此文档。
将设置应用到此文档。
将设置应用到此文档。
将设置应用到此文档。
p.NET.NET.NET.NET提供了方便地创建、安装和注册提供了方便地创建、安装和注册提供了方便地创建、安装和注册提供了方便地创建、安装和注册WWWWindowsindowsindowsindows服务服务服务服务的方案,可重写的方案,可重写的方案,可重写的方案,可重写OnStartOnStartOnStartOnStart、OnStopOnStopOnStopOnStop方法来定制服务方法来定制服务方法来定制服务方法来定制服务内容内容内容内容pWindowsWindowsWindowsWindows服务需要使用服务需要使用服务需要使用服务需要使用installutil.exeinstallutil.exeinstallutil.exeinstallutil.exe工具安工具安工具安工具安装在需要运行该服务的特定计算机上装在需要运行该服务的特定计算机上装在需要运行该服务的特定计算机上装在需要运行该服务的特定计算机上目标目标p理解水晶报表的作用和优点理解水晶报表的作用和优点p使用水晶报表专家创建水晶报表使用水晶报表专家创建水晶报表p在窗体中使用水晶报表和报表绑定在窗体中使用水晶报表和报表绑定简介简介4-1产品部的薪金详细信息财务部的薪金详细信息市场部的薪金详细信息按顺序显示信息汇总信息?
报表格式化且有条理的数据记录表示方式水晶报表简介水晶报表简介4-2姓姓名名:
AllenJohn职位:
分析员职位:
分析员部部门:
20薪金:
薪金:
10000姓姓名名:
JackTurner职职位位:
行行政政人人员员部部门:
10薪金:
薪金:
3200姓姓名名:
MarkLee职位:
职位:
经理经理部部门:
30薪金:
薪金:
12000姓名:
姓名:
ChanCho职位:
职位:
销售员销售员部部门:
40薪金:
薪金:
7600姓姓名名:
DavidBlake职位:
职位:
销售员销售员部部门:
40薪金:
薪金:
6500姓姓名名:
SusanJones职职位位:
行行政政人人员员部部门:
10薪金:
薪金:
4500姓姓名名:
ScottWilliam职位:
职位:
销售员销售员部部门:
40薪金:
薪金:
8500姓姓名名:
AdamJohns职位:
职位:
分析员分析员部部门:
20薪金:
薪金:
9500用表格形式显示的数据需要手动计算每个部门的总薪金水晶报表简介水晶报表简介4-3姓名姓名职位职位部门部门薪金薪金JackTurner行政人员行政人员103200SusanJones行政人员行政人员104500部门10的总薪金是7700AllenJohn分析员分析员2010000AdamJohns分析员分析员209500部门部门20的总薪金是的总薪金是19500MarkLee经理经理3012000部门30的总薪金是12000ChanCho销售员销售员407600DavidBlake销售员销售员406500ScottWilliam销售员销售员408500部门40的总薪金是22700有条理的表示数据记录更容易汇总所需的信息水晶报表简介水晶报表简介4-4p水晶报表是水晶报表是VisualStudioVisualStudio环境(包括环境(包括VisualStudio.NETVisualStudio.NET)中用于创建报表的标)中用于创建报表的标准工具准工具p利用水晶报表可以创建交互式的优质报表利用水晶报表可以创建交互式的优质报表p不仅能为不仅能为WinFormsWinForms和和WebFormsWebForms创建报创建报表,还能将报表作为表,还能将报表作为WebWeb服务存放在服务存放在WebWeb服务器上服务器上p“水晶报表设计器水晶报表设计器”界面用于创建并格式界面用于创建并格式化报表,大大减少代码编写量化报表,大大减少代码编写量水晶报表的功能水晶报表的功能运行时自定义报表查看器与其他控件之间的交互报表作为Web服务借助交互式界面更加容易地创建报表水晶报表水晶报表水晶报表查看器水晶报表查看器拖放CrystalReportViewer的属性、方法和事件的属性、方法和事件属性DisplayGroupTreeDisplayToolbarReportSource方法GetCurrentPageNumber()RefreshReport()命名规则:
在CrystalReportViewer控件前加“crv”事件HandleException正确地命名:
crvSalesReport、crvBalanceSheetReport使用水晶报表专家使用水晶报表专家4-1可帮助用户创建多种报表、绘制各种图形、设置报表的整体格式、连接数据库,以及根据用户的选择指定数据库中的记录等。
创建窗体后,在添加新项中添加“CrystalReport”,将自动启动水晶报表设计器,进入“标准报表专家”中。
“标准报表专家”可帮助定义报表的数据源、选择要使用的数据记录并对其进行分组,还可以格式化报表对象和布局。
使用水晶报表专家使用水晶报表专家4-2选择水晶报表使用水晶报表专家使用水晶报表专家4-3扩展OLEDB(ADO)部分用于SQLServer的OLEDB提供程序使用水晶报表专家使用水晶报表专家4-4选择所需的表并将其插入到报表中。
可以将表的所有字段或指定字段添加到报表中。
水晶报表应用程序示例水晶报表应用程序示例8-1p水晶报表支持水晶报表支持水晶报表支持水晶报表支持ADO.NETADO.NETADO.NETADO.NET数据集。
数据集。
数据集。
数据集。
p可以使用各种数据源创建可以使用各种数据源创建可以使用各种数据源创建可以使用各种数据源创建ADO.NETADO.NETADO.NETADO.NET数据集。
数据集。
数据集。
数据集。
p使用使用使用使用ADO.NETADO.NETADO.NETADO.NET数据集创建报表需遵循以下步骤。
数据集创建报表需遵循以下步骤。
数据集创建报表需遵循以下步骤。
数据集创建报表需遵循以下步骤。
生成一个数据集对象。
连接至ADO.NET数据集对象。
ADO.NET数据集设计器用来创建只包含数据结构而不包含实际数据的DataSet对象。
要在报表上显示实际数据,可将数据库中的数据传递至ADO.NET对象模型中的DataSet对象中。
将这个已填入数据的DataSet传递至报表引擎。
最后,将报表对象绑定至WinForms中相应水晶报表查看器上。
水晶报表应用程序示例水晶报表应用程序示例8-2新建Windows应用程序,从菜单中选择“项目”“新建项目”在“类别”区域中展开“本地项目项”,选择“数据”,从“模板”区域选择“数据集”使用“服务器资源管理器”窗口创建新的链接将服务器资源管理器中的Book表拖至“数据集”选项卡水晶报表应用程序示例水晶报表应用程序示例8-3从“生成”菜单中选择“生成解决方案”为该项目生成一个数据集对象注意:
生成的数据集对象不包含实际的数据,只包含对数据库结构的描述水晶报表应用程序示例水晶报表应用程序示例8-4向该窗体添加水晶报表项。
选择“CrystalReport库”窗口中的默认项在“标准报表专家”窗口中展开“项目数据”文件夹展开ADO.NET数据集,并选择DataSet对象选择Book表,单击“插入表”。
在“字段”选项卡中添加所有列在“组”选项卡中选择Publisher列,单击“添加”,将选中的列添加到“分组依据”中可用于指定一个或多个字段来汇总特定组水晶报表应用程序示例水晶报表应用程序示例8-5默认情况下,“汇总字段”部分显示数据类型为数字的所有字段,因为只能对这种数据类型执行统计操作创建报表后,将数据填充到数据集对象中,并在报表查看器中显示数据水晶报表应用程序示例水晶报表应用程序示例8-6创建报表后,将其与需要该报表的应用程序中的报表查看器进行绑定。
打开“工具箱”,并将CrystalReportViewer控件拖放到窗体上,即在窗体上添加了水晶报表查看器。
CrystalReportViewer包含允许自定义和控制报表的外观及行为的属性将System.Data.SqlClient命名空间添加到该窗体中在类声明部分中添加以下代码publicBooksCrystalReportobjBooksCrystalReport=newBooksCrystalReport();水晶报表应用程序示例水晶报表应用程序示例8-7在InitializeComponent()方法后的构造函数中添加代码stringstrCon=server=SQLDB;uid=sa;password=;database=Book;stringstrSelect=select*fromBook;SqlConnectionobjSqlConnection=newSqlConnection(strCon);SqlDataAdapterobjSqlDataAdapter=newSqlDataAdapter(strSelect,objSqlConnection);/为BooksDataset数据集声明一个实例DataSetobjDataSet=newBooksDataset();/将数据填充到数据集实例objDataSet中objSqlDataAdapter.Fill(objDataSet,Books);objBooksCrystalReport=newBooksCrystalReport();/设置水晶报表实例的数据源objBooksCrystalReport.SetDataSource(objDataSet.TablesBooks);/将含有数据的报表对象绑定到水晶报表查看器上crvBooksReportViewer.ReportSource=objBooksCrystalReport;水晶报表应用程序示例水晶报表应用程序示例8-8p使用报表设计器可以将图表插入到水晶报使用报表设计器可以将图表插入到水晶报表中表中p在水晶报表中可使用选择公式