水晶报表教程:数据筛选与数据库连接

需积分: 9 58 下载量 151 浏览量 更新于2024-08-17 收藏 1.23MB PPT 举报
本教程是关于使用水晶报表进行数据筛选和报表制作的详细指南,涵盖了数据来源模式、数据库连接、字段类型以及多种筛选和格式化技术。 在水晶报表的筛选数据过程中,有几种方法可以实现: 1. **通过【选择专家】构造查询条件**:在水晶报表中,可以通过“数据库专家”界面来选择需要的字段和条件,构建查询表达式,以确定显示在报表中的数据。 2. **在【公式工作室】中编辑查询条件**:用户还可以在公式工作室中创建自定义公式,定义更复杂的筛选逻辑。这允许你使用报表内的字段、函数和其他运算符来定制筛选规则。 3. **编写代码过滤**:对于更高级的控制,可以在应用程序代码中设置CrystalReportViewer的`SelectionFormula`属性,例如:`this.CrystalReportViewer1.SelectionFormula = "{Hr_Staff.Sex} = '男'"`,这将只显示性别为男性的员工记录。 水晶报表的工作原理涉及两种主要的数据来源模式: - **推模式**:在应用程序中预先处理数据,然后将数据集(如DataSet的DataTable)设置为报表的数据源。这样,应用程序负责提供数据,水晶报表仅负责显示。如果需要添加SQL表达式字段,可能需要修改数据源。 - **拉模式**:报表直接从数据库中拉取数据,根据提供的连接字符串执行查询。这种方式下,水晶报表可以动态生成SQL语句,直接与数据库交互。 为了连接到数据库,需要设置登录属性,如示例代码所示,设置ServerName、DatabaseName、UserID和Password。 在水晶报表中,字段分为多种类型: - **数据库字段**:直接来源于数据库表、视图等。 - **公式字段**:基于内置函数、运算符和报表字段创建的自定义表达式。 - **参数字段**:允许用户输入值来影响报表数据。 - **组名字段**:用于分组数据。 - **运行总计字段**:在报表运行时计算的总计。 - **SQL表达式字段**:直接在报表中嵌入SQL表达式。 - **特殊字段**:如时间戳或报表版本信息。 - **未绑定字段**:不直接关联数据源的字段,通常用于展示计算结果或其他非数据库数据。 此外,水晶报表还支持**操作分组**,允许对数据进行层次化组织;**向下钻取**功能允许用户深入查看详细信息;**记录排序**可以根据需要调整数据的排列顺序;**格式化编辑器**提供了丰富的样式和布局选项;**图表制作**可创建直观的数据可视化;**交叉表制作**适合展示行列数据对比;而**设计技巧**则包括了优化报表性能和用户体验的各种策略。 水晶报表提供了强大的工具和灵活性,帮助开发者创建复杂、互动且数据驱动的报告,满足各种业务需求。通过熟练掌握这些知识点,你可以制作出满足业务需求的专业报表。