水晶报表制作.ppt_第1页
水晶报表制作.ppt_第2页
水晶报表制作.ppt_第3页
水晶报表制作.ppt_第4页
水晶报表制作.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、水晶报表制作,内容提要,1.数据来源模式(推式和拉式) 2.水晶报表如何连接数据库 3.各种字段类型(如数据库字段、公式字段) 4.操作分组 5.理解向下钻取 6.筛选数据 7.记录排序 8.格式化编辑器的使用 9.图表制作 10.交叉表制作 11.设计技巧,数据来源模式-推模式,推(Push)模式 在应用程序中定义数据源并填充数据,然后设置水晶报表浏览控件的数据源。应用程序负责提供数据。 通常先创建DataSet,添加DataTable,在水晶报表中【数据库专家】中选择ADO.NET数据集。 如果需要增加SQL表达式字段,必须更改DataTable数据源。,数据来源模式-拉模式,拉(Pull

2、)模式 由水晶报表根据连接字符串从指定数据库获取数据。水晶报表控件自动提供数据。 通常创建或使用现有连接,选取表、存储过程、查询语句等作为数据源。 可以直接建立SQL表达式字段。,登录属性设置,TableLogOnInfo tableLogOnInfo = new TableLogOnInfo(); tableLogOnInfo.ConnectionInfo.ServerName =52; tableLogOnInfo.ConnectionInfo.DatabaseName = SDERP; tableLogOnInfo.ConnectionInfo.UserID = s

3、a; tableLogOnInfo.ConnectionInfo.Password = “xxxxx; this.CrystalReportSource1.ReportDocument.Database.Tables0.ApplyLogOnInfo(tableLogOnInfo);/应用登录属性,字段分类,1.数据库字段 2.公式字段 3.参数字段 4.组名字段 5.运行总计字段 6.SQL表达式字段 7.特殊字段 8.未绑定字段,数据库字段,来自标准的数据库表、视图、存储过程、自定义函数、替代名、系统表、系统函数。,公式字段,利用水晶报表内置函数或自定义函数、报表字段、运算符等构造表达式 1

4、.创建公式名称 2.编辑公式表达式 3.放置公式字段,SQL表达式字段,SQL表达式语法必须与源数据库的语法相适应。 数据源为推模式时不可直接在水晶报表中创建SQL表达式。,使用参数字段,步骤: 1.创建参数字段 2.实现参数字段 3.给参数字段赋值,使用参数字段-给参数赋值,/设置检索参数 ParameterFields paramFields = new ParameterFields(); ParameterField paramField = new ParameterField(); ParameterDiscreteValue discreteVal = new Parameter

5、DiscreteValue();/-离散值 paramField.ParameterFieldName = EndOrderDate; /设置离散值并将其传递给该参数 discreteVal.Value = 2010-07-13; paramField.CurrentValues.Add(discreteVal); paramFields.Add(paramField); this.CrystalReportViewer1.ParameterFieldInfo = paramFields;,运行总计字段,运行总计字段提供一种方法,使得处理记录的过程中在报表中增量式地计算出一个总计和。 汇总与运

6、行总计字段的区别: 汇总是针对组或所有记录的,运行总计字段可以针对逐条记录,也可以针对组或所有记录。 运行时总计字段可提供增量式统计,汇总不能做到。,组名字段,指定一个或多个组添加到报表上之后才会有组名字段存在。,特殊字段,是水晶报表提供的一些系统字段。 在创建公式字段表达式时也可以使用特殊字段,不需要分界符。 举例: PageNumber:页次 TotalPageCount:总页数 RecordNumber:记录号 OnFirstRecord:是否第一条记录 ReportTitle:报表标题,未绑定字段,可由用户自定义针对逐行计算的公式,操作分组,向下钻取,向下钻取:指通过组记录进入详细资料

7、的能力。 通过设置“隐藏(可向下钻取)”选项,默认情况下不显示详细资料,只有双击组记录才进入详细资料。,筛选数据,1.通过【选择专家】构造查询条件 2.在【公式工作室】中编辑查询条件 3.编写代码过滤。构造查询条件,设置浏览控件的SelectionFormula属性。 this.CrystalReportViewer1.SelectionFormula = Hr_Staff.Sex = 男;,排序记录,1.使用记录排序专家 2.使用代码排序 /定义排序字段 FieldDefinition FieldDef0 = this.CrystalReportSource1.ReportDocument.

8、Database.TablesHr_Staff.FieldsAge; /设置排序字段this.CrystalReportSource1.ReportDocument.DataDefinition.SortFields0.Field = FieldDef0; /设置排序方式 this.CrystalReportSource1.ReportDocument.DataDefinition.SortFields0.SortDirection = CrystalDecisions.Shared.SortDirection.AscendingOrder;,格式化编辑器-公共选项,对象名称:注意命名的规范性

9、; CSS类名称:提供利用CSS样式表能力,注意在界面文件中引入CSS文件或定义样式; 抑制显示:不显示; 水平对齐:有左、居中、右和两端对齐四种对齐方式; 将对象保持在一起:把一个对象保持在单一页面上显示; 可以增大:使可变长度的字段垂直扩大并使单词自动换行; 文本旋转:使对象旋转90度或270度显示; 显示字符串:定制字符串;,格式化编辑器-公共选项(编程项),对象名称(string):Name CSS类名称(string):ObjectFormat.CssClass 抑制显示(bool):ObjectFormat.EnableSuppress 水平对齐(Alignment):Object

10、Format.HorizontalAlignment 将对象保持在一起(bool):ObjectFormat.EnableKeepTogether 可以增大(bool):ObjectFormat.EnableCanGrow 换页时关闭边框(bool):ObjectFormat.EnableCloseAtPageBreak,格式化编辑器-边框,左、右、顶部、底部线型:可设置边框拥有单线、双线、短划线或点线; 水平紧密:指定边框是否紧紧包围在报表上有关对象的内容周围; 下落式阴影:指定在对象的右下边是否画出下落式阴影; 边框颜色:指定边框和下落式阴影的颜色; 背景颜色:指定要显示的背景颜色;,格式

11、化编辑器-边框(编程项),边框背景颜色(System.Drawing.Color):Border.BackgroundColor 边框颜色(System.Drawing.Color): Border.BorderColor 边框顶线线型(LineStyle):Border.TopLineStyle 边框底线线型(LineStyle):Border.BottomLineStyle 边框左线线型(LineStyle):Border.LeftLineStyle 边框右线线型(LineStyle):Border.RightLineStyle 边框下拉式阴影(bool):Border.HasDropSh

12、adow,格式化编辑器-字体,在代码中无法直接更改字体属性,必须使用ApplyFont()方法; System.Drawing.Font newFont; System.Drawing.FontStyle newFontStyle = System.Drawing.FontStyle.Regular; newFontStyle = newFontStyle | System.Drawing.FontStyle.Bold; newFont = new System.Drawing.Font(obj_FieldObject.Font.Name, obj_FieldObject.Font.Size,

13、 newFontStyle); obj_FieldObject.ApplyFont(newFont);,格式化编辑器-字体(编程项),字体颜色(System.Drawing.Color):Color 字体名称(string):Font.Name 粗体(bool):Font.Bold 斜体(bool):Font. Italic 删除线(bool):Font.Strikeout 下划线(bool):Font.Underline 字体大小(float):Font.Size 字体集(System.Drawing.FontFamily):Font.FontFamily 字体使用的GDI字符集(byte)

14、:Font.GdiCharSet 字体是否从GDI垂直字体派生(bool):Font.GdiVerticalFont 字体行距(int):Height 判断字体是否System.Drawing.SystemFont成员(bool):IsSystemFont 原始字体名称(string):Font.OriginalFontName 字体大小(以点为单位,float):Font.SizeInPoints 字体样式(System.Font.FontStyle):Font.Style 系统字体名称(string):Font.SystemFontName 字体度量单位(System.Drawing.Gr

15、aphicsUnit):Font.Unit,格式化编辑器-段落,文本解释: 无:缺省显示; RTF文本:以富文本方式显示,要求栏位值必须符合RTF格式; HTML文本:以HTML方式显示,要求栏位值必须符合HTML格式;通常前台使用HtmlEditor相关控件保存到数据库Text类型栏位;,格式化编辑器-超级链接,Internet上的网站:用一个URL指定一个外部网站,可以使用引用报表公式;如:.hk/search?q=+Hr_Staff.Name 电子邮件地址:启用电子邮件工具发送邮件;如: mailto:?subject=应聘软件工程师 文件:链接到客户端指定文件;如:C:WindowsN

16、otepad.exe 当前电子邮件字段值:创建一个链接到带有下划线的对象的网站或电子邮件; 其它报表对象:链接相同或不同报表中对象的超级链接的定义;,公共对象格式化(其它编程项),名称(string):Name 高度(int):Height 宽度(int):Width 左上角位置(int):Left 顶部位置(int):Top 对象类型(ReportObjectKind):Kind,文本对象格式化(其它编程项),文本(string):Text,线对象格式化(其它编程项),是否扩展到节的底部(bool):EnableExtendToBottomOfSection 对象底部节的名称(string)

17、:EndSectionName 线的颜色(System.Drawing.Color):LineColor 线型(LineStyle):LineStyle 线条粗细(int):LineThickness,图表制作,图、表的选择顺序:文不如表,表不如图; 通常在组级根据汇总和小计信息绘制图表;,图表类型,图表类型-条形图,以一系列垂直条显示数据,通常用于比较多个数据组 。,图表类型-折线图,折线图用一系列以线段相连接的点表示数据。这种类型的图表最适于表示大批分组的数据(例如过去几年的销售总额)。,图表类型-面积图,面积图用填充了颜色或图案的面积来显示数据。这种类型的图表最适于显示有限数量的若干组数

18、据(例如,AZ、CA、OR 和 WA 地区在销售总额中所占的百分比)。,图表类型-饼图,饼图用分割并填充了颜色或图案的饼形来表示数据。饼图通常用来表示一组数据(例如销售占整个库存的百分比),然而,您也可以选择多个饼图来显示多组数据。,图表类型-圆环图,圆环图类似于饼图,将数据显示在圆圈或圆环上。例如,如果在一个特定报表上绘制按地区分类的销售图表,会在圆环的中心看到销售总量(数据),各地区的销售额以不同颜色显示在圆环上。像饼图一样,您可以选择多个圆环图来显示多组数据。,图表类型-三维上升体图,三维梯形图以一系列三维对象显示数据,这些三维对象在三维平面并列排列。三维梯形图显示报表数据中的极端情况。

19、例如,客户以及国家/地区间的销售额差异在此图表中可以动态地显示出来。,图表类型-三维曲面图,三维平面图展示多组数据的地形视图。例如,如果需要一张图表,以可视的动态及相互关联的格式、按客户及国家/地区显示销售数量,或许会考虑使用三维平面图。,图表类型-数轴图,数轴图是以数值字段或日期/时间字段作为其“依据”字段的条形图、折线图或面积图。数轴图提供了一种缩放 X 轴的值的方法,从而创建真正的数值 X 轴或真正的日期/时间 X 轴。,图表类型-其它类型1,图表类型-其它类型2,图表类型-其它类型3,创建图表步骤,1.选择图表类型 2.定义数据显示栏位(如系列栏位、值栏位) 3.设置其它显示属性(如标

20、题) 4.设置图标选项(如是否显示数据标签),图表的数据项,【更改主体】:指明图表的系列数据(X轴)由哪些栏位值产生 可以指定排序栏位及排序方式 可以限定数据范围(全部、最前N个等) 【显示值】:指明图表的值数据(Y轴)由哪些栏位值产生 可以指定汇总方式(合计、平均等) 如果仅显示详细资料本身栏位数据,可以【不汇总】,交叉表,水晶报表无法设计左上角的斜线表头,可以通过插入图片并设置【延伸到后续节】实现;,水晶报表设计技巧1,1.控制每页显示行数 在【节专家】选中【在后面页新建页】,输入公式:RecordNumber mod 每页行数 =0 2.让页脚紧贴内容 使用明细节替代页脚:。创建一个额外的明细节在节的抑制显示公式,内容加入: if RecordNumber mod 5 0 then if OnLastRecord then false else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论