Crystal Reports(以下简称“水晶报表”)是一个优秀的报表开发工具,其功能强大,设计灵活。最新的Visual Studio.NET集成开发环境(IDE)中整合了Crystal Reports 9.0,从而增强了Visual Studio.NET(VS.NET)的开发功能。\r\n 本书通过大量的实例深入浅出地详细讲述了在Visual Studio.NET开发平台下利用水晶报表来设计开发具有复杂报表的Web应用程序和Windows应用程序,重点介绍了水晶报表的设计开发方法,具有很强的实用性和指导意义。随书所附光盘包含书中范例程序源代码及报表源文件。\r\n 本书内容通俗易懂,实例详尽,对水晶报表的设计、开发做了最全面的总结,大量实例更是程序员们迫切需要的。无论是广大Visual Studio.NET的编程开发人员还是报表系统的设计开发者,想必都能从本书中受益。
第1篇 在.NET平台下使用Crystal Reports\r\n\r\n第1章 Visual Studio.NET平台与Crystal Reports概述\r\n\r\n1.1 Visual Studio.NET简介\r\n1.1.1 Visual Studio.NET开发平台\r\n1.1.2 配置\r\n1.1.3 Visual Studio集成开发环境(IDE)\r\n1.2 Visual Studio.NET平台与Crystal Reports\r\n1.3 Crystal Reports设计环境介绍\r\n1.4 Crystal Reports类库命名空间\r\n1.4.1 CrystalDecisions.Crystal-Reports.Engine命名空间\r\n1.4.2 Crystal Decisions.Report-Source命名空间\r\n1.4.3 CrystalDecisions.Shared命名空间\r\n1.4.4 CrystalDecisions.Web和CrystalDecisions.Windows.Forms命名空间\r\n1.4.5 其他命名空间\r\n1.5 Crystal Reports的功能\r\n1.5.1 创建所能想像的任何报表\r\n1.5.2 将报表扩展到Web\r\n1.5.3 将报表加入应用程序\r\n\r\n第2章 在Web应用程序中使用水晶报表\r\n\r\n2.1 生成一个Web窗体\r\n2.2 建立并运行Web应用程序\r\n2.3 在水晶报表中导航\r\n2.4 水晶报表查看器绑定报表的方法\r\n2.4.1 第1种情况:绑定本地报表到水晶报表查看器中\r\n2.4.2 第2种情况:绑定已添加到项目中的本地报表到水晶报表查看器中\r\n\r\n第3章 在Web应用程序中给水晶报表传递参数\r\n\r\n3.1 在Visual Studio.NET下的Web窗体\r\n3.2 水晶报表查看器\r\n3.2.1 配置1:二级环境\r\n3.2.2 配置2:三级环境\r\n3.3 在Web窗体中建立水晶报表查看器\r\n3.4 指定水晶报表查看器控件所访问的报表\r\n3.4.1 设置示例数据库的位置\r\n3.4.2 指定报表\r\n3.5 Web窗体控件类的描述\r\n3.5.1 CrystalReportViewer类\r\n3.5.2 DrillEventArgs类\r\n3.5.3 ParameterFields类\r\n3.5.4 ParameterField类\r\n3.5.5 ParameterValues类\r\n3.6 给报表传递参数\r\n\r\n第4章 在Windows应用程序中使用水晶报表\r\n\r\n4.1 在 Visual C#项目中生成报表\r\n4.2 设计水晶报表\r\n4.3 增加一个已存在的水晶报表\r\n4.4 修改水晶报表\r\n4.4.1 水晶报表设计器\r\n4.4.2 水晶报表设计器的功能\r\n4.5 Windows窗体查看器\r\n4.5.1 Visual Studio.NET的Windows窗体\r\n4.5.2 水晶报表查看器\r\n4.6 使用水晶报表查看器访问水晶报表\r\n4.6.1 生成Windows窗体\r\n4.6.2 插入水晶报表查看器\r\n4.6.3 认识水晶报表查看器\r\n4.6.4 指定水晶报表查看器上的报表\r\n4.7 水晶报表查看器绑定报表的方法\r\n4.8 有关的报表类的描述\r\n4.8.1 水晶报表查看器控件的类\r\n4.8.2 ReportObject类\r\n4.9 动态改变报表\r\n4.9.1 动态绑定报表\r\n4.9.2 动态改变报表中的文本\r\n4.9.3 动态改变报表中的字段\r\n4.9.4 隐藏/显示报表工具栏与组树视图\r\n4.9.5 增加自定义按钮替代报表工具栏\r\n4.10 动态创建和修改报表\r\n\r\n第5章 基于ADO.NET数据集的报表\r\n\r\n5.1 生成具有水晶报表查看器的Web窗体\r\n5.2 生成ADO.NET数据集对象\r\n5.3 把ADO.NET数据集对象连接到报表\r\n5.4 在Web水晶报表查看器上设置ADO.NET报表\r\n5.5 使用数据集创建主从报表的例子\r\n\r\n第6章 作为Web服务输出报表\r\n\r\n6.1 Web服务\r\n6.1.1 报表Web服务\r\n6.1.2 具有报表Web服务的服务器\r\n6.1.3 报表Web服务的客户端\r\n6.2 将报表Web服务绑定到Windows水晶报表查看器和Web水晶报表查看器\r\n6.2.1 将报表Web服务绑定到Windows水晶报表查看器\r\n6.2.2 将报表Web服务绑定到Web水晶报表查看器\r\n\r\n第2篇 Crystal Reports基础设计\r\n\r\n第7章 报表设计快速开始\r\n\r\n7.1 创建报表\r\n7.2 选择数据库\r\n7.3 插入字段\r\n7.3.1 了解字段\r\n7.3.2 调整字段大小\r\n7.3.3 显示报表\r\n7.3.4 在文本对象中组合数据库字段\r\n7.3.5 添加摘要信息\r\n7.3.6 添加标题\r\n7.3.7 设置对象格式\r\n7.3.8 添加字段标题\r\n7.4 记录选定\r\n7.4.1 输入选择条件\r\n7.4.2 删除字段\r\n7.4.3 平衡字段间距\r\n7.5 分组及排序\r\n7.5.1 将报表分组\r\n7.5.2 对记录排序\r\n7.6 完成报表\r\n7.6.1 插入公司徽标\r\n7.7 使用其他报表功能\r\n\r\n第8章 设计和创建报表\r\n\r\n8.1 基本报表设计概念\r\n8.1.1 报表设计的目的\r\n8.1.2 确定报表布局\r\n8.1.3 明确报表中的数据\r\n8.1.4 操作数据\r\n8.1.5 确定打印区域特性\r\n8.2 创建报表简介\r\n8.2.1 报表创建选项\r\n8.2.2 选择数据源和数据库字段\r\n8.2.3 报表设计环境\r\n8.2.4 创建新报表\r\n8.2.5 高级报表\r\n8.3 报表处理模型\r\n8.3.1 概述\r\n\r\n第9章 语法介绍\r\n\r\n9.1 Crystal语法\r\n9.1.1 Crystal语法基础知识\r\n9.1.2 字段(Crystal语法)\r\n9.1.3 表达式\r\n9.1.4 赋值\r\n9.1.5 简单数据类型\r\n9.1.6 范围数据类型\r\n9.1.7 数组数据类型\r\n9.1.8 变量\r\n9.1.9 函数\r\n9.1.10 运算符\r\n9.1.11 控制结构\r\n9.2 Basic语法\r\n9.2.1 Basic语法基础知识\r\n9.2.2 字段\r\n9.2.3 语句\r\n9.2.4 赋值\r\n9.2.5 简单数据类型\r\n9.2.6 范围数据类型\r\n9.2.7 数组数据类型\r\n9.2.8 变量\r\n9.2.9 函数\r\n9.2.10 运算符\r\n9.2.11 控制结构\r\n9.2.12 Crystal语法和Basic语法的限制\r\n\r\n第10章 使用公式\r\n\r\n10.1 公式概述\r\n10.1.1 公式语言中的新功能\r\n10.1.2 公式的典型用途\r\n10.2 公式组件和语法\r\n10.2.1 公式组件\r\n10.2.2 公式语法\r\n10.3 指定公式\r\n10.3.1 报表公式\r\n10.3.2 条件格式化公式\r\n10.3.3 选定公式\r\n10.3.4 搜索公式\r\n10.3.5 运行总计条件公式\r\n10.4 使用公式编辑器\r\n10.4.1 访问公式编辑器\r\n10.4.2 公式编辑器的按钮\r\n10.4.3 公式编辑器的键控件\r\n10.5 创建和修改公式\r\n10.5.1 创建公式并将其插入到报表中\r\n10.5.2编辑公式\r\n10.5.3 搜索和替换文本\r\n10.5.4 将公式从一个报表复制到另一个报表\r\n10.6 删除公式\r\n10.6.1 从报表删除工作公式\r\n10.6.2 删除公式规范\r\n10.7 公式的错误\r\n10.7.1 保存公式时出现的错误\r\n10.7.2 在运行时间发生的错误\r\n10.7.3 错误消息和公式编译器警告\r\n10.8 自定义函数\r\n10.9 公式应用实例\r\n10.9.1 计量单位转换\r\n10.9.2 中文星期\r\n10.9.3 条件计算\r\n10.9.4 条件统计\r\n10.10 创建、调试、使用公式的完整例子\r\n\r\n第11章 使用数据库\r\n\r\n11.1 数据库\r\n11.1.1 数据库概述\r\n11.1.2 链接表\r\n11.1.3 使用SQL和SQL数据库\r\n11.1.4 服务器端处理\r\n11.1.5 使用数据库示例\r\n11.1.6 报表数据访问策略\r\n11.2 访问数据源\r\n11.2.1 介绍\r\n11.2.2 四类数据\r\n11.2.3 直接访问数据库文件\r\n11.2.4 ODBC数据源\r\n11.2.5 OLEDB\r\n\r\n第12章 记录选定\r\n\r\n12.1 选择记录\r\n12.1.1 首先需要确定要使用哪些字段\r\n12.1.2使用“选择专家”\r\n12.1.3 使用“记录选定公式编辑器”\r\n12.1.4 交互地使用选择专家和记录选定公式编辑器\r\n12.2 记录选定公式的例子\r\n12.2.1 用字符串选择记录\r\n12.2.2 使用数字选择记录\r\n12.2.3 使用日期选择记录\r\n12.2.4 使用预置日期范围选择记录\r\n12.2.5 使用日期/数字/字符组合选择记录\r\n12.3 解决记录选定公式中出现的问题\r\n12.3.1 对记录选定公式的疑难解答\r\n12.3.2 修正未生成数据的选定\r\n12.4 实现记录选定的例子\r\n\r\n第13章 排序、分组、汇总及运行总计\r\n\r\n13.1 数据排序\r\n13.1.1 理解排序选项\r\n13.1.2 单一或多个字段排序\r\n13.2 数据分组\r\n13.2.1 分组和排序\r\n13.2.2 创建自定义组\r\n13.2.3 将组内记录排序\r\n13.2.4 组选定\r\n13.2.5 根据客户姓名的第一个字母分组\r\n13.2.6 分层次对数据分组\r\n13.2.7 编辑组\r\n13.3 汇总分组的数据\r\n13.3.1 汇总分组的数据的步骤\r\n13.3.2 根据汇总值对组排序\r\n13.3.3 选择最前或最后N 个组或百分比\r\n13.4 小计\r\n13.4.1 数据小计\r\n13.4.2 扩展价格并汇总价格\r\n13.4.3 百分比\r\n13.5 组页眉\r\n13.5.1 创建组页眉\r\n13.5.2 取消组页眉\r\n13.5.3 深化组页眉\r\n13.6 运行总计\r\n13.6.1 了解运行总计\r\n13.6.2 创建运行总计\r\n13.6.3 使用公式创建运行总计\r\n\r\n第14章 使用参数\r\n\r\n14.1 参数字段注意事项\r\n14.2 创建参数字段\r\n14.2.1 创建参数字段的例子\r\n14.2.2 将参数包含在选定范围内\r\n14.3 删除参数字段\r\n14.3.1 删除不在公式中使用的参数\r\n14.3.2 删除用于选择专家的参数\r\n14.33 删除在公式中使用的参数\r\n14.4 响应参数字段提示\r\n14.5 高级参数功能\r\n14.5.1 创建具有多个值的参数\r\n14.5.2 使用参数字段作为条件来设置格式\r\n14.5.3 使用参数字段创建报表标题\r\n14.5.4 指定单个值或范围值\r\n14.5.5 将参数包含在公式中\r\n14.5.6 使用参数字段定义排序顺序\r\n14.5.7 使用编辑掩码定义输入类型和格式\r\n\r\n第3篇 Crystal Reports高级设计\r\n\r\n第15章 多节报表与格式化\r\n\r\n15.1 多节报表\r\n15.1.1 使用节\r\n15.1.2 调整节大小\r\n15.1.3 在报表中使用多个节\r\n15.1.4 套用信函\r\n15.2 格式化\r\n15.2.1 使用报表设计环境\r\n15.2.2 格式化属性\r\n15.2.3 使用绝对格式化\r\n15.2.4 使用条件格式化\r\n\r\n第16章 交叉表\r\n\r\n16.1 交叉表介绍\r\n16.2 交叉表示例\r\n16.2.1 订单数据的报表--未排序/未分组\r\n16.2.2 订单数据的报表--按地区分组\r\n16.2.3 订单数据的报表--按产品分组\r\n16.2.4 订单数据的报表--按地区和产品分组\r\n16.2.5 交叉表对象中的订单数据\r\n16.3 创建交叉表报表\r\n16.3.1 创建新“交叉表”报表\r\n16.3.2 在已有报表中添加“交叉表”\r\n16.4 使用交叉表\r\n16.4.1 自定义行/列标签\r\n16.4.2 在交叉表中使用运行总计\r\n16.4.3 打印跨越多页的“交义表”\r\n16.5 设置交叉表式\r\n16.5.1 更改交叉表单元格的宽度、高度和对齐方式\r\n16.5.2 设置整行/整列的背景颜色的格式\r\n16.5.3 设置个别字段的格式\r\n16.5.4 一次设置若干字段的格式\r\n16.5.5 取消“交叉表”数据\r\n\r\n第17章 子报表\r\n\r\n17.1 子报表介绍\r\n17.1.1 未链接的和链接的子报表\r\n17.1.2 一对多情况下的数据库链接和子报表\r\n17.2 插入无链接子报表\r\n17.3 更新子报表\r\n17.3.1 打开主报表时全局更新子报表\r\n17.3.2 打开主报表时更新特定的子报表\r\n17.3.3 手动更新子报表数据\r\n17.4 将子报表与主报表相链接\r\n17.4.1 子报表链接的工作过程\r\n17.4.2 创建主报表\r\n17.4.3 创建子报表\r\n17.4.4 将子报表链接到主报表中的数据\r\n17.4.5 在不修改选定公式的情况下将子报表链接到主报表\r\n17.5 通过使用子报表组合两个或更多不相关的报表\r\n17.5.1 组合两个不相关的报表\r\n17.5.2 组合三个或更多不相关的报表\r\n17.5.3 在同一个报表中放置不相关的报表的例子\r\n17.6 对无法链接的数据使用子报表\r\n17.6.1 与公式字段进行相互链接\r\n17.6.2 链接没有索引的表\r\n17.7 按需要显示子报表\r\n17.7.1 创建按需要显示子报表\r\n17.7.2 向按需要显示子报表中添加标题\r\n17.8 在单个报表中显示相同数据的不同视图\r\n\r\n第18章 图表及 OLE 对象\r\n\r\n18.1 图表\r\n18.1.1 绘制图表概念\r\n18.1.2 创建图表\r\n18.1.3 使用图表\r\n18.2 OLE对象\r\n18.2.1 0LE概述\r\n18.2.2 将OLE对象插入报表\r\n18.2.3 OLE对象在报表中如何表示\r\n18.2.4 编辑报表中的OLE对象\r\n18.2.5 插入图片\r\n18.2.6 嵌入对象与链接对象\r\n\r\n第19章 优化与分发报表\r\n\r\n19.1 概述\r\n19.2 做出正确的设计选择\r\n19.2.1 使用更快的报表格式\r\n19.2.2 在活动数据和已保存数据之间选择\r\n19.2.3 设计汇总报表\r\n19.2.4 慎用子报表\r\n19.3 优化制表环境\r\n19.3.1 选择最快的数据库和连接\r\n19.3.2 使用表索引\r\n19.3.3 有效地链接表\r\n19.3.4 使用线程安全数据库驱动程序\r\n19.3.5 使用存储过程进行更快的处理\r\n19.4 使用增强的记录选定公式\r\n19.4.1 将记录选定下推到数据库服务器\r\n19.4.2 下推记录选定--示例\r\n19.4.3 记录选定性能提示\r\n19.4.4 编写高效记录选定公式的策略\r\n19.4.5 将参数字段合并到记录选定公式中\r\n19.4.6 适时使用SQL表达式\r\n19.5 改进分组、排序和总计\r\n19.5.1 在服务器上执行分组\r\n19.5.2 将SQL表达式用于分组、排序和总计\r\n19.5.3 将SQL表达式用于Case逻辑\r\n19.5.4 在可能的位置插入汇总和运行总计字段\r\n19.6 发布报表\r\n19.6.1 打印报表\r\n19.6.2 传真报表\r\n19.6.3 导出报表
本书详细介绍了如何在Visual Studio.NET开发平台下利用Crystal Reports(以下简称“水晶报表”)来设计开发具有复杂报表的Web应用程序和Windows应用程序。
在目前软件系统的设计和开发中,有大量的应用软件需要以报表形式将输出结果显示或打印,而自己开发报表系统来完成上述任务的工作量则明显加大,水晶报表软件为众多有该方面需求的用户提供了极大的方便。水晶报表功能强大,图形统计功能丰富,可根据不同的需求产生多种样式的报表。
水晶报表在编程中的具体应用一直是广大软件开发人员关心的问题,为了提高本书的可读性,节省广大读者的时间,本书将多采用图形、举例配以说明的方式来介绍。
水晶报表功能强大,应用繁多,不可能在一本书中面面俱到地介绍各项功能。通过对本书的阅读,可以使读者对水晶报表的使用方法和在编程中的具体应用有一个相对深入的了解,并能在实际应用中实现想要达到的功能。本书的内容共分3篇。
第1篇主要讲述了在.NET平台下使用Crystal Reports,共分6章。第1章概述了Visual Studio.NET平台与Crystal Reports,并介绍了Visual Studio.NET的开发环境、Crystal Reports的功能、Crystal Reports设计环境,以及Crystal Reports类库命名空间。第2章介绍如何在Web应用程序中使用水晶报表。第3章更进一步地介绍如何在Web应用程序中给水晶报表传递参数,从而与报表进行交互。第4章讲述在Windows应用程序中如何使用水晶报表,重点介绍如何动态改变报表内容,如何在运行时创建和修改报表。第5章介绍基于ADO.NET数据集的报表,讲述了如何生成ADO.NET数据集对象,并把ADO.NET数据集对象连接到报表,最后介绍了一个使用数据集创建主从报表的例子。第6章讲述如何把报表作为Web服务输出。
第2篇主要讲述了Crystal Reports的基础设计,共分8章。第7章是报表设计的快速入门,提供了一个从头开始创建和设计报表的完整的例子。第8章讲述了报表设计的基本概念,并介绍了在Crystal Reports中创建报表所需的基础知识及报表处理模型。第9章讲述了在Visual Studio.NET开发平台下的Crystal Reports使用的Crystal语法和Basic语法。第10章介绍如何使用公式。第11章介绍如何使用数据库。第12章讲述如何为报表选定记录。第13章讲述如何在报表中进行排序、分组、汇总及运行总计。第14章解释了什么是参数字段,以及如何使用参数。
第3篇讲述的是复杂水晶报表的高级设计方法,共分5章。第15章介绍了用Crystal Reports中的多节报表功能创建高级报表及讲述对对象进行格式化的方法。第16章介绍了交叉表的相关知识。第17章介绍如何使用子报表。第18章详细介绍了如何创建图表及如何在报表中使用OLE对象。第19章介绍了多种优化报表的方法及发布已完成的报表的方法。
本书的编程环境为Visual Studio.NET,试验中的操作系统选择了Windows 2000 Professional,涉及到的编程全部在相关的编程环境中编译通过并能正常运行。绝大部分的例子使用的是Visual C#言进行编程,只要稍加修改就可以应用于Visual Basic.NET和Visual C++.NET。
随书光盘包含了本书的所有示例程序。为了简单起见,建议将“DotNET平台下Crystal Reports设计与开发示例”目录拷贝到“C:”盘下运行。其中的Web应用程序示例,需要在服务器上运行。所以请将这些例子拷贝到IIs服务器的“C:\Inetpub\wwwroot”目录下运行。
本书是面向广大Visual Studio.NET编程开发人员和报表应用程序的设计开发者的一本书。本书只需要读者能够熟练地操作Windows平台,然后按照本书的步骤一步一步地操作,就可开发出具有复杂功能的报表应用程序。
本书由飞思科技产品研发中心策划并组织编写,参加本书编写的人员有罗国庆、廖克芬、罗国安、陈良萍、雷震兵、张广军、胡敏等人,感谢他(她)们将自己平时点点滴滴的经验积累贡献于本书。
飞思科技产品研发中心