《《精编》水晶报表制作方法培训》由会员分享,可在线阅读,更多相关《《精编》水晶报表制作方法培训(49页珍藏版)》请在金锄头文库上搜索。
1、水晶报表制作 内容提要 1 数据来源模式 推式和拉式 2 水晶报表如何连接数据库3 各种字段类型 如数据库字段 公式字段 4 操作分组5 理解向下钻取6 筛选数据7 记录排序8 格式化编辑器的使用9 图表制作10 交叉表制作11 设计技巧 数据来源模式 推模式 推 Push 模式在应用程序中定义数据源并填充数据 然后设置水晶报表浏览控件的数据源 应用程序负责提供数据 通常先创建DataSet 添加DataTable 在水晶报表中 数据库专家 中选择ADO NET数据集 如果需要增加SQL表达式字段 必须更改DataTable数据源 数据来源模式 拉模式 拉 Pull 模式由水晶报表根据连接字符
2、串从指定数据库获取数据 水晶报表控件自动提供数据 通常创建或使用现有连接 选取表 存储过程 查询语句等作为数据源 可以直接建立SQL表达式字段 登录属性设置 TableLogOnInfotableLogOnInfo newTableLogOnInfo tableLogOnInfo ConnectionInfo ServerName 192 168 1 252 tableLogOnInfo ConnectionInfo DatabaseName SDERP tableLogOnInfo ConnectionInfo UserID sa tableLogOnInfo ConnectionInfo
3、Password xxxxx this CrystalReportSource1 ReportDocument Database Tables 0 ApplyLogOnInfo tableLogOnInfo 应用登录属性 字段分类 1 数据库字段2 公式字段3 参数字段4 组名字段5 运行总计字段6 SQL表达式字段7 特殊字段8 未绑定字段 数据库字段 来自标准的数据库表 视图 存储过程 自定义函数 替代名 系统表 系统函数 公式字段 利用水晶报表内置函数或自定义函数 报表字段 运算符等构造表达式1 创建公式名称2 编辑公式表达式3 放置公式字段 SQL表达式字段 SQL表达式语法必须与源数
4、据库的语法相适应 数据源为推模式时不可直接在水晶报表中创建SQL表达式 使用参数字段 步骤 1 创建参数字段2 实现参数字段3 给参数字段赋值 使用参数字段 给参数赋值 设置检索参数ParameterFieldsparamFields newParameterFields ParameterFieldparamField newParameterField ParameterDiscreteValuediscreteVal newParameterDiscreteValue 离散值paramField ParameterFieldName EndOrderDate 设置离散值并将其传递给该参数
5、discreteVal Value 2010 07 13 paramField CurrentValues Add discreteVal paramFields Add paramField this CrystalReportViewer1 ParameterFieldInfo paramFields 运行总计字段 运行总计字段提供一种方法 使得处理记录的过程中在报表中增量式地计算出一个总计和 汇总与运行总计字段的区别 汇总是针对组或所有记录的 运行总计字段可以针对逐条记录 也可以针对组或所有记录 运行时总计字段可提供增量式统计 汇总不能做到 组名字段 指定一个或多个组添加到报表上之后才会
6、有组名字段存在 特殊字段 是水晶报表提供的一些系统字段 在创建公式字段表达式时也可以使用特殊字段 不需要分界符 举例 PageNumber 页次TotalPageCount 总页数RecordNumber 记录号OnFirstRecord 是否第一条记录ReportTitle 报表标题 未绑定字段 可由用户自定义针对逐行计算的公式 操作分组 向下钻取 向下钻取 指通过组记录进入详细资料的能力 通过设置 隐藏 可向下钻取 选项 默认情况下不显示详细资料 只有双击组记录才进入详细资料 筛选数据 1 通过 选择专家 构造查询条件2 在 公式工作室 中编辑查询条件3 编写代码过滤 构造查询条件 设置浏
7、览控件的SelectionFormula属性 this CrystalReportViewer1 SelectionFormula Hr Staff Sex 男 排序记录 1 使用记录排序专家2 使用代码排序 定义排序字段FieldDefinitionFieldDef0 this CrystalReportSource1 ReportDocument Database Tables Hr Staff Fields Age 设置排序字段this CrystalReportSource1 ReportDocument DataDefinition SortFields 0 Field FieldD
8、ef0 设置排序方式this CrystalReportSource1 ReportDocument DataDefinition SortFields 0 SortDirection CrystalDecisions Shared SortDirection AscendingOrder 格式化编辑器 公共选项 对象名称 注意命名的规范性 CSS类名称 提供利用CSS样式表能力 注意在界面文件中引入CSS文件或定义样式 抑制显示 不显示 水平对齐 有左 居中 右和两端对齐四种对齐方式 将对象保持在一起 把一个对象保持在单一页面上显示 可以增大 使可变长度的字段垂直扩大并使单词自动换行 文本旋
9、转 使对象旋转90度或270度显示 显示字符串 定制字符串 格式化编辑器 公共选项 编程项 对象名称 string NameCSS类名称 string ObjectFormat CssClass抑制显示 bool ObjectFormat EnableSuppress水平对齐 Alignment ObjectFormat HorizontalAlignment将对象保持在一起 bool ObjectFormat EnableKeepTogether可以增大 bool ObjectFormat EnableCanGrow换页时关闭边框 bool ObjectFormat EnableCloseA
10、tPageBreak 格式化编辑器 边框 左 右 顶部 底部线型 可设置边框拥有单线 双线 短划线或点线 水平紧密 指定边框是否紧紧包围在报表上有关对象的内容周围 下落式阴影 指定在对象的右下边是否画出下落式阴影 边框颜色 指定边框和下落式阴影的颜色 背景颜色 指定要显示的背景颜色 格式化编辑器 边框 编程项 边框背景颜色 System Drawing Color Border BackgroundColor边框颜色 System Drawing Color Border BorderColor边框顶线线型 LineStyle Border TopLineStyle边框底线线型 LineSty
11、le Border BottomLineStyle边框左线线型 LineStyle Border LeftLineStyle边框右线线型 LineStyle Border RightLineStyle边框下拉式阴影 bool Border HasDropShadow 格式化编辑器 字体 在代码中无法直接更改字体属性 必须使用ApplyFont 方法 System Drawing FontnewFont System Drawing FontStylenewFontStyle System Drawing FontStyle Regular newFontStyle newFontStyle S
12、ystem Drawing FontStyle Bold newFont newSystem Drawing Font obj FieldObject Font Name obj FieldObject Font Size newFontStyle obj FieldObject ApplyFont newFont 格式化编辑器 字体 编程项 字体颜色 System Drawing Color Color字体名称 string Font Name粗体 bool Font Bold斜体 bool Font Italic删除线 bool Font Strikeout下划线 bool Font Un
13、derline字体大小 float Font Size字体集 System Drawing FontFamily Font FontFamily字体使用的GDI字符集 byte Font GdiCharSet字体是否从GDI垂直字体派生 bool Font GdiVerticalFont字体行距 int Height判断字体是否System Drawing SystemFont成员 bool IsSystemFont原始字体名称 string Font OriginalFontName字体大小 以点为单位 float Font SizeInPoints字体样式 System Font Font
14、Style Font Style系统字体名称 string Font SystemFontName字体度量单位 System Drawing GraphicsUnit Font Unit 格式化编辑器 段落 文本解释 无 缺省显示 RTF文本 以富文本方式显示 要求栏位值必须符合RTF格式 HTML文本 以HTML方式显示 要求栏位值必须符合HTML格式 通常前台使用HtmlEditor相关控件保存到数据库Text类型栏位 格式化编辑器 超级链接 Internet上的网站 用一个URL指定一个外部网站 可以使用引用报表公式 如 hk search q Hr Staff Name 电子邮件地址
15、启用电子邮件工具发送邮件 如 mailto hr subject 应聘软件工程师文件 链接到客户端指定文件 如 C Windows Notepad exe当前电子邮件字段值 创建一个链接到带有下划线的对象的网站或电子邮件 其它报表对象 链接相同或不同报表中对象的超级链接的定义 公共对象格式化 其它编程项 名称 string Name高度 int Height宽度 int Width左上角位置 int Left顶部位置 int Top对象类型 ReportObjectKind Kind 文本对象格式化 其它编程项 文本 string Text 线对象格式化 其它编程项 是否扩展到节的底部 boo
16、l EnableExtendToBottomOfSection对象底部节的名称 string EndSectionName线的颜色 System Drawing Color LineColor线型 LineStyle LineStyle线条粗细 int LineThickness 图表制作 图 表的选择顺序 文不如表 表不如图 通常在组级根据汇总和小计信息绘制图表 图表类型 图表类型 条形图 以一系列垂直条显示数据 通常用于比较多个数据组 图表类型 折线图 折线图用一系列以线段相连接的点表示数据 这种类型的图表最适于表示大批分组的数据 例如过去几年的销售总额 图表类型 面积图 面积图用填充了颜色或图案的面积来显示数据 这种类型的图表最适于显示有限数量的若干组数据 例如 AZ CA OR和WA地区在销售总额中所占的百分比 图表类型 饼图 饼图用分割并填充了颜色或图案的饼形来表示数据 饼图通常用来表示一组数据 例如销售占整个库存的百分比 然而 您也可以选择多个饼图来显示多组数据 图表类型 圆环图 圆环图类似于饼图 将数据显示在圆圈或圆环上 例如 如果在一个特定报表上绘制按地区分类的销售图表