水晶报表制作方法培训

上传人:花里****1 文档编号:243499126 上传时间:2024-09-24 格式:PPT 页数:49 大小:1.20MB
返回 下载 相关 举报
水晶报表制作方法培训_第1页
第1页 / 共49页
水晶报表制作方法培训_第2页
第2页 / 共49页
水晶报表制作方法培训_第3页
第3页 / 共49页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,水晶报表制作,内容提要,1.数据来源模式(推式和拉式),2.水晶报表如何连接数据库,3.各种字段类型(如数据库字段、公式字段),4.操作分组,5.理解向下钻取,6.筛选数据,7.记录排序,8.格式化编辑器的使用,9.图表制作,10.交叉表制作,11.设计技巧,数据来源模式-推模式,推(Push)模式,在应用程序中定义数据源并填充数据,然后设置水晶报表浏览控件的数据源。应用程序负责提供数据。,通常先创建DataSet,添加DataTable,在水晶报表中【数据库专家】中选择ADO.NET数据集。,如果需要增加SQL表达式字段,必须更改DataTable数据源。,数据来源模式-拉模式,拉(Pull)模式,由水晶报表根据连接字符串从指定数据库获取数据。水晶报表控件自动提供数据。,通常创建或使用现有连接,选取表、存储过程、查询语句等作为数据源。,可以直接建立SQL表达式字段。,登录属性设置,TableLogOnInfo tableLogOnInfo = new TableLogOnInfo();,tableLogOnInfo.ConnectionInfo.ServerName =192.168.1.252;,tableLogOnInfo.ConnectionInfo.DatabaseName = SDERP;,tableLogOnInfo.ConnectionInfo.UserID = sa;,tableLogOnInfo.ConnectionInfo.Password = “xxxxx;,this.CrystalReportSource1.ReportDocument.Database.Tables0.ApplyLogOnInfo(tableLogOnInfo);/,应用登录属性,字段分类,1.数据库字段,2.公式字段,3.参数字段,4.组名字段,5.运行总计字段,6.SQL表达式字段,7.特殊字段,8.未绑定字段,数据库字段,来自标准的数据库表、视图、存储过程、自定义函数、替代名、系统表、系统函数。,公式字段,利用水晶报表内置函数或自定义函数、报表字段、运算符等构造表达式,1.创建公式名称,2.编辑公式表达式,3.放置公式字段,SQL表达式字段,SQL表达式语法必须与源数据库的语法相适应。,数据源为推模式时不可直接在水晶报表中创建SQL表达式。,使用参数字段,步骤:,1.创建参数字段,2.实现参数字段,3.给参数字段赋值,使用参数字段-给参数赋值,/,设置检索参数,ParameterFields paramFields = new ParameterFields();,ParameterField paramField = new ParameterField();,ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();/-,离散值,paramField.ParameterFieldName = EndOrderDate;,/,设置离散值并将其传递给该参数,discreteVal.Value = 2010-07-13;,paramField.CurrentValues.Add(discreteVal);,paramFields.Add(paramField);,this.CrystalReportViewer1.ParameterFieldInfo = paramFields;,运行总计字段,运行总计字段提供一种方法,使得处理记录的过程中在报表中增量式地计算出一个总计和。,汇总与运行总计字段的区别:,汇总是针对组或所有记录的,运行总计字段可以针对逐条记录,也可以针对组或所有记录。,运行时总计字段可提供增量式统计,汇总不能做到。,组名字段,指定一个或多个组添加到报表上之后才会有组名字段存在。,特殊字段,是水晶报表提供的一些系统字段。,在创建公式字段表达式时也可以使用特殊字段,不需要分界符。,举例:,PageNumber:页次,TotalPageCount:总页数,RecordNumber:记录号,OnFirstRecord:是否第一条记录,ReportTitle:报表标题,未绑定字段,可由用户自定义针对逐行计算的公式,操作分组,向下钻取,向下钻取:指通过组记录进入详细资料的能力。,通过设置“隐藏(可向下钻取)”选项,默认情况下不显示详细资料,只有双击组记录才进入详细资料。,筛选数据,1.通过【选择专家】构造查询条件,2.在【公式工作室】中编辑查询条件,3.编写代码过滤。构造查询条件,设置浏览控件的,SelectionFormula属性。,this.CrystalReportViewer1.SelectionFormula = Hr_Staff.Sex = ,男,;,排序记录,1.使用记录排序专家,2.使用代码排序,/,定义排序字段,FieldDefinition FieldDef0 = this.CrystalReportSource1.ReportDocument.Database.TablesHr_Staff.FieldsAge;,/,设置排序字段this,.CrystalReportSource1.ReportDocument.DataDefinition.SortFields0.Field = FieldDef0;,/,设置排序方式,this.CrystalReportSource1.ReportDocument.DataDefinition.SortFields0.SortDirection = CrystalDecisions.Shared.SortDirection.AscendingOrder;,格式化编辑器-公共选项,对象名称:注意命名的规范性;,CSS类名称:提供利用CSS样式表能力,注意在界面文件中引入CSS文件或定义样式;,抑制显示:不显示;,水平对齐:有左、居中、右和两端对齐四种对齐方式;,将对象保持在一起:把一个对象保持在单一页面上显示;,可以增大:使可变长度的字段垂直扩大并使单词自动换行;,文本旋转:使对象旋转90度或270度显示;,显示字符串:定制字符串;,格式化编辑器-公共选项(编程项),对象名称(string):Name,CSS类名称(string):,ObjectFormat.CssClass,抑制显示(bool):,ObjectFormat.EnableSuppress,水平对齐(Alignment):,ObjectFormat.HorizontalAlignment,将对象保持在一起(bool):ObjectFormat.EnableKeepTogether,可以增大(bool):ObjectFormat.EnableCanGrow,换页时关闭边框(bool):,ObjectFormat.EnableCloseAtPageBreak,格式化编辑器-边框,左、右、顶部、底部线型:可设置边框拥有单线、双线、短划线或点线;,水平紧密:指定边框是否紧紧包围在报表上有关对象的内容周围;,下落式阴影:指定在对象的右下边是否画出下落式阴影;,边框颜色:指定边框和下落式阴影的颜色;,背景颜色:指定要显示的背景颜色;,格式化编辑器-边框(编程项),边框背景颜色(System.Drawing.Color):,Border.BackgroundColor,边框颜色(System.Drawing.Color): Border.BorderColor,边框顶线线型(LineStyle):Border.TopLineStyle,边框底线线型(LineStyle):Border.BottomLineStyle,边框左线线型(LineStyle):Border.LeftLineStyle,边框右线线型(LineStyle):Border.RightLineStyle,边框下拉式阴影(bool):Border.HasDropShadow,格式化编辑器-字体,在代码中无法直接更改字体属性,必须使用,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, 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):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.GraphicsUnit):Font.Unit,格式化编辑器-段落,文本解释:,无:缺省显示;,RTF文本:以富文本方式显示,要求栏位值必须符合RTF格式;,HTML文本:以HTML方式显示,要求栏位值必须符合HTML格式;通常前台使用HtmlEditor相关控件保存到数据库Text类型栏位;,格式化编辑器-超级链接,Internet上的网站:用一个URL指定一个外部网站,可以使用引用报表公式;如:.hk/search?q=+Hr_Staff.Name,电子邮件地址:启用电子邮件工具发送邮件;如:,mailto:?subject=应聘软件工程师,文件:链接到客户端指定文件;如:C:WindowsNotepad.exe,当前电子邮件字段值:创建一个链接到带有下划线的对象的网站或电子邮件;,其它报表对象:链接相同或不同报表中对象的超级链接的定义;,公共对象格式化(其它编程项),名称(string):Name,高度(int):Height,宽度(int):Width,左上角位置(int):Left,顶部位置(int):Top,对象类型(ReportObjectKind):Kind,文本对象格式化(其它编程项),文本(string):Text,线对象格式化(其它编程项),是否扩展到节的底部(bool):EnableExtendToBottomOfSection,对象底部节的名称(string):EndSectionName,线的颜色(System.Drawing.Color):LineColor,线型(LineStyle):LineStyle,线条粗细(int):LineThickness,图表制作,图、表的选择顺序:文不如表,表不如图;,通常在组级根据汇总和小计信息绘制图表;,图表类型,漏斗图,甘特图,量表图,数轴图,股票图,气泡图,雷达图,XY 散点图,三维曲面图,三维上升体图,圆环图,饼图,面积图,折线图,条形图,图标类型,图表类型-条形图,子类型,图形,说明,并排条形图,条形显示了每个组和子组的值(可选)。便于显示组值之间的比较。,堆积条形图,子组的总计构成了组/条的总计。便于显示组值和子组值之间的对比。,百分比条形图,子组以组或条总计的百分比显示。便于强调总计的每个组成部分的比例。,三维并排条形图,条形图显示了每个组的值,以及子组的值(可选)。便于显示组值之间的比较。,三维堆积条形图,堆积条形图。子组总计构成了组或条总计。便于显示组和子组值之间的比较。,三维百分比条形图,子组显示为组或条的总计的百分比。便于强调总计的每个组成部分的比例。,以一系列垂直条显示数据,通常用于比较多个数据组 。,图表类型-折线图,子类型,图形,说明,折线图,对于每个系列都将数据值绘制为点,并连接以形成线条。通常依据时间绘制,以显示单个系列的趋势或 2 个或更多系列之间的关系。,堆积折线图,通常依据时间绘制,以显示每个系列的比重。,百分比折线图,通常依据时间绘制,以显示每个系列的比重。,数据点折线图,每个系列的数据值被绘制为点,并连接以形成线条。,数据点堆积折线图,通常依据时间绘制,以显示每个系列的比重。,数据点百分比折线图,通常依据时间绘制,以显示每个系列的比重。,折线图用一系列以线段相连接的点表示数据。这种类型的图表最适于表示大批分组的数据(例如过去几年的销售总额)。,图表类型-面积图,子类型,图形,说明,堆积面积图,通常依据时间绘制,以显示每个系列的比重,并阐明系列之间的关系。,百分比面积图,通常依据时间绘制,以显示每个系列的比重,并阐明系列之间的关系。,三维堆积面积图,通常依据时间绘制,以显示每个系列的比重,并阐明系列之间的关系。,三维百分比面积图,通常依据时间绘制,以显示每个系列的比重,并阐明系列之间的关系。,面积图用填充了颜色或图案的面积来显示数据。这种类型的图表最适于显示有限数量的若干组数据(例如,AZ、CA、OR 和 WA 地区在销售总额中所占的百分比)。,图表类型-饼图,子类型,图形,说明,成比例的多个饼图,每个饼图代表一个组,并阐明了构成组总计的组件值的比重。每个饼图的大小与全部的总计是成比例的。,三维饼图,阐明构成总计的组件值的比重。,多个饼图,每个饼图代表一个组,并阐明了构成组总计的组件值的比重。,成比例的多个饼图,每个饼图代表一个组,并阐明了构成组总计的组件值的比重。每个饼图的大小与全部的总计是成比例的。,饼图用分割并填充了颜色或图案的饼形来表示数据。饼图通常用来表示一组数据(例如销售占整个库存的百分比),然而,您也可以选择多个饼图来显示多组数据。,图表类型-圆环图,子类型,图形,说明,圆环图,类似饼图。表明了构成总计的组件值所占的份额。,多个圆环图,每个圆环图表示一个组,表明构成组总计的组件值所占的份额。,多比例圆环图,每个圆环图代表一个组,并阐明了构成组总计的组件值的比重。每个圆环图的大小是成比例的。,圆环图类似于饼图,将数据显示在圆圈或圆环上。例如,如果在一个特定报表上绘制按地区分类的销售图表,会在圆环的中心看到销售总量(数据),各地区的销售额以不同颜色显示在圆环上。像饼图一样,您可以选择多个圆环图来显示多组数据。,图表类型-三维上升体图,子类型,图形,说明,三维条形图,图表显示在 3 个轴中(x,y,和 z),因此值是在组和系列之间显示的。便于显示从电子数据表中提取的数据。,三维棱锥图,与三维条形图相同,除了条形状是棱锥形的。,三维八棱柱图,与三维条形图相同,除了条形状是八棱柱。,三维切角条形图,与三维条形图相同,除了条形状是切角的条。,三维梯形图以一系列三维对象显示数据,这些三维对象在三维平面并列排列。三维梯形图显示报表数据中的极端情况。例如,客户以及国家/地区间的销售额差异在此图表中可以动态地显示出来。,图表类型-三维曲面图,子类型,图形,说明,三维曲面图,一张图使用 3 个轴,通常将时间绘制在主轴上,以将系列之间的趋势关系显示为平面曲线。,带侧面图表的三维曲面图,类似常规的三维曲面图,但曲面图显示为实心块。,三维蜂巢曲面图,类似常规的三维曲面图,但曲面图显示为蜂巢状。,三维平面图展示多组数据的地形视图。例如,如果需要一张图表,以可视的动态及相互关联的格式、按客户及国家/地区显示销售数量,或许会考虑使用三维平面图。,图表类型-数轴图,子类型,图形,说明,数轴条形图,此图表类型会将“依据”作为 x 轴坐标。使用“图表选项”快捷菜单中的“网格”对话框可自定义 x 轴的格式。,数轴折线图,数轴面积图,日期轴条形图,与数轴条形图类似。这种类型可用于在 x 轴上绘制日期值。请在“数据”选项卡中选择作为日期字段的“依据”值。,日期轴折线图,日期轴面积图,数轴图是以数值字段或日期/时间字段作为其“依据”字段的条形图、折线图或面积图。数轴图提供了一种缩放 X 轴的值的方法,从而创建真正的数值 X 轴或真正的日期/时间 X 轴。,图表类型-其它类型1,类型,子类型,图形,说明,XY 散点图,XY 散点图,单个的数据点绘制在 2 个轴之中。如果相关关系存在于 x 和 y 值之间,则可从点的密度和模式中定义它。XY 散点图是由代表信息池中特定数据的绘制点组成的集合。XY 散点图允许用户考察大范围的数据来确定趋势。例如,如果输入客户的信息(包括销售、产品、国家/地区、月份、年份),便会得到一个由代表客户信息池的绘制点组成的集合。通过查看 XY 散点图上的所有数据,可以推测出为什么某些产品的销量比其他产品好,或为什么某些地区的购买力比其他地区强。,雷达图,雷达图,每个数据点的标记。便于显示数据模式。雷达图将国家/地区或客户等分组数据放置于雷达的边缘。雷达图将数值按升序从中心向边缘排列。通过这种方式,用户一看便知特定分组数据与全体分组数据的关系。,雷达图,堆积的雷达图,每个系列的数据值被堆积并显示为单独的段。便于显示组和子组值之间的模式和比较。,图表类型-其它类型2,类型,子类型,图形,说明,气泡图,气泡图,类似散点图,但比较了 3 套数据值,而不是 2 套。通过每个数据点的气泡大小显示出第三个值。气泡图(XY 散点图类型的扩展)将数据表示为一系列气泡,气泡的大小与数据量成正比。使用气泡图表示产品在某地区的销量很有效,气泡越大,此地区的销量就越大。,股票图,最高-最低价位股票图表,用于检查股票数据的行为。参照最大和最小股票值显示数据范围。股票图用来表示数据值的高低。在监视金融或销售行为方面很有用。,股票图,最高-最低-开盘-收盘价位股票图表,参照最大和最小值显示数据范围。,同样可区分开盘和收盘值。,量表图,量表图,量表是一个显示少量值的表盘。在快捷菜单中“图表选项”下的“常规”对话框中可定义红色、黄色和绿色区域。量度图以图形化的方式将数值显示为量具上的点。同饼图类似,量度图通常用于一组数据(例如,整个库存中销售所占的百分比)。,图表类型-其它类型3,类型,子类型,图形,说明,甘特图,甘特图,甘特图必须“对于每个记录”绘制两个值:开始日期和结束日期。可以使用日期或时间值。可以从“图表选项”快捷菜单转到“网格”对话框来更改轴的格式。,甘特图是一种水平条形图,通常用于时间表的图形化表示。横轴显示时间范围,纵轴显示一系列任务或事件。图表上的水平条表示纵轴各项的事件序列及时间范围。在创建甘特图时应仅使用日期字段。为数据轴选择的字段应设置为“对于每个记录”,并且应将开始和结束日期字段添加到“图表专家”中“数据”选项卡的“显示值”区域。,漏斗图,漏斗图,通常用于客户关系管理产品。漏斗图通常用于表示销售过程的各个阶段。例如,为每个阶段显示的潜在收入金额。在确定组织的销售过程中可能存在的问题时,此类型的图表也很有用。漏斗图与堆积条形图之间的相似之处在于,它们都表示图表中包含的分组的 100% 汇总值。,创建图表步骤,1.选择图表类型,2.定义数据显示栏位(如系列栏位、值栏位),3.设置其它显示属性(如标题),4.设置图标选项(如是否显示数据标签),图表的数据项,【更改主体】:指明图表的系列数据(X轴)由哪些栏位值产生,可以指定排序栏位及排序方式,可以限定数据范围(全部、最前N个等),【显示值】:指明图表的值数据(Y轴)由哪些栏位值产生,可以指定汇总方式(合计、平均等),如果仅显示详细资料本身栏位数据,可以【不汇总】,交叉表,水晶报表无法设计左上角的斜线表头,可以通过插入图片并设置【延伸到后续节】实现;,水晶报表设计技巧1,1.控制每页显示行数,在【节专家】选中【在后面页新建页】,输入公式:RecordNumber mod 每页行数 =0,2.让页脚紧贴内容,使用明细节替代页脚:。创建一个额外的明细节在节的抑制显示公式,内容加入:,if RecordNumber mod 5 0 then,if OnLastRecord then,false,else,true,3.解决vs2008自带水晶报表次数的限制的次数,修改注册表下面两个键的值。,HKEY_LOCAL_MACHINESOFTWAREBusiness Objects10.5Report Application ServerInprocServerPrintJobLimit修改为1000,还有一个HKEY_LOCAL_MACHINESOFTWARE Business Objects 10.5Report Application ServerServerPrintJobLimit 也修改为1000,4.,让组页眉,在同一组中每一页都显示,插入组的时候,在公用选项页面选中“在每个页面上重复组页眉”,水晶报表设计技巧2,5.让每组的记录号都从1开始,创建运行总计字段,汇总类型选择“计数”,求值方式选择“每条记录”,重置选项选择“组更改时”,6.实现“单元格合并”,设置待合并栏位的顶部边框公式为:,if OnFirstRecord then,crNoLine,else,crSingleLine,其它栏位下方画线,7.隔行背景颜色变化,if recordnumber() mod 20 then crsilverelsecrnocolor,水晶报表设计技巧3,8.控制每页固定行数(n),不够时补空行,插入n个详细资料带,选中【抑制显示】并修改公式为:if count(栏位名称) mod N 0 andcount(栏位名称) mod N =(N-m)onlastrecord then falseelsetrue,其中m为详细资料带序号,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!