学习笔记要点_第1页
学习笔记要点_第2页
学习笔记要点_第3页
学习笔记要点_第4页
学习笔记要点_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、XtraReport学习笔记Jephy2021/8/19有待大家本文档是学习过程中所做笔记,对于更多深层次的知识还为了解清楚, 共同学习研究.目录一、根本概念4二、页面构建时用到的事件4三、报表结构4四、报表常用属性 5五、报表控件61 . Web页面控件 62 .报表设计时控件:6六、报表类型71 .静态报表72 .表格报表73 .主从报表74 .多栏报表75 .交叉表报表86 .并列报表87 .Drill-Through 报表 88 .邮件合并报表89 .标签报表9七、报表数据源91 .数据源92 .绑定数据的方法92.1. 使用.NET数据提供程序绑定报表 9.2.2. 把报表绑定到 L

2、ist9.2.3. 把报表绑定到XML数据9.八、数据绑定与报表预览91 .设计时绑定92 .运行时绑定103 . Chart控件绑定 10九、数据呈现111 .数据分组与排序112 .数据筛选112.1. 在报表级筛选 1.12.2. 在数据源级筛选 113 .数据格式化11十、外观设置111 .外观属性112 .样式 122.1 奇偶行样式1.22.2 .样式表123 .附条件格式设置12H一、交互导航121 .超链接122 .文档地图13十二、其他13十三、应用程序部署 13XtraReport 一、根本概念:XtraReports中的每个报表都由 XtraRepot类的一个实例表示,或

3、者由该类的子 类来表示(这种情况更常见).因此,每个报表都作为带区的容器使用,而每个带 区中都包含报表控件.XtraReports中的每个报表都可以被绑定到数据,或者不 绑定.要创立绑定报表,那么首先要把报表绑定到数据源,然后指定每个报表控 件的数据绑定选项.报表控件、带区和报表自身的所有大小和位置,都以报表内相同的单位度量.度量单位由报表的 XtraReport.ReportUnit属性指定,可以设置为以下类型之一:百分之一英寸:当 ReportUnit属性值被设置为 ReportUnit.HundredthsOfAnInch 时使用.十分之一毫米:当 ReportUnit 属性值被设置为

4、ReportUnit.TenthsOfAMillimeter 时使用. 二、页面构建时用到的事件 Before Print: 在 预览/打印/导出 报表期间,在XRControl对象创立其图像之前, XRControl.BeforePrint事件发生,主要用于以程序方式改变报表的属性、带区的 属性、以及存放在DetailBand细节带区中的控件的属性.在此事件中可以执行大局部任务 (例如改变 XRControl.Visible、 XRControl.BackC010r XRControl.BorderC010r以及其他属性),可以被轻松执行, 而 无需编写代码,只是使用 格式设置规那么.止匕外

5、,BeforePrint事件可以被接 管,从而重新指派控件的样式,并且调整其XRControl.LocationF属性.在 BeforePrint 事件中,可以使用 XtraReportBase.GetCurrentColumnValue方法为 数据绑定控件获取数据列的当前值.注意,在此事件中,修改控件的绑定信息就太迟了.因此,对于数据绑定控件,可以只调整其静态文本.例如代码: private void xrLabel1_BeforePrint(object sender, PrintEventArgs e) .if (Convert.ToDouble(this.GetCurrentColum

6、nValue("UnitPrice") > 30) XRControl control = this.FindControl("xrLabel1", true); control.LocationF = new PointF(15F, 15F);control.Styles.Style = this.StyleSheet0; 三、报表结构整个报表是由多个绑定带区组成,绑定带区如下:绑定带区说明TopMarginBand每个贝闻上回都显小的空白天头,在PageHeaderBar 或者 ReportHeaderBand上面ReportHeaderBan

7、d在报表起始位置报表头,此带区被设计用于显示某些 概述信息,例如报表的封面.PageHeaderBand在每个贝闻的上方页眉,在 TopMarginBand或者ReportHeaderBand 卜力GroupHeaderBand在每组的起始位置,或者在分跨多个页时而位于组的上方 分组标头.此带区指定分组标准,并被用于显示每组记录起始位置的信息DetailBand在页面上所有其他带区之间细节.此带区每行只显示 绑定数据源中的一条记录,或者当没有为报表指定数据源 时而简单地持肩非绑定控件.DetailReportBand在DetailBand的下方从表,被设计用于在创立主/从报 表时持有从报表Gr

8、oupFooterBand在每组的结束位置,或者在分跨多个页时而位于组的卜方 分组脚注.此带区主要被设计用于显示每组的总结信 息.ReportFooterBand在报表结束位置报表脚注.此带区被设计用于显示某些 终极信息,例如报表总结.PageFooterBand在每个贝闻的卜方页脚在 ReportFooterBand卜方和BottomFooterBand上方,此带区被设计用于从之前页间接 续的贝码或表尾BottomMarginBand每个贝闻底部的空白地脚,在PageFooterBand的卜方.四、报表常用属性属性|说明BackColor:设置报表控件的背景色Bands报表包含的带区,用于放

9、置各种控件集 合BorderColor报表中控件边框颜色BorderDashStyle报表中控件边框样式Borders报表中控件边框BorderWidth边框宽度CalculatedFiled计算子段,主要被用于data-aware数据感 知报表中集合DataAdapter数据源Adapter对象DataMember数据源中用于绑定报表的具体表DataSourcer报表数据源DataSourceSchema指定数据源框架文件XML/XSD文件DesignerOptionsShowDesignerHints(bool)设计时显示提示ShowDesignerWarnings(bool): 设计时显

10、示警告提示ShowPrintingWarnings (bool):打印提示DetailPrintCount设置打印的页数DetailPrintCountOnEmptyDataSource当数据源为空时打印的次数DrawGrid (bool)设置是否要绘制对齐网格ExportOptions用于设置报表导出时的相关属性集合FilterString报表数据过滤字符申PageColor报表贝向颜色FormattingRules设置格式化样式FormattingSheet格式化样式集合PagerKind设置纸张类型Parameters设置报表参数PrintOnEmptyDatasource (bool)

11、r设置当数据源为空时是否打印RequestParameters (bool)设置是否在参数Submit后再创立报表SnapGridSize设置报表对齐网格大小SnappingModel设置对齐模式(SnapToLines&SnapToGridSnapToGrid (bool)设置是否对齐到网格StyleSheet设置控件引用的样式StyleSheetPath设置引用外部样式文件TextAlignment设置报表字体对齐方式Watermark属性集合用于设置报表的水印,包括 图片和文字XmlDataPath设置数据源为Xml文件的数据源路径五、报表控件报表控件在 Web应用程序中分为 W

12、eb页面控件和报表设计控件1. Web页面控件控件说明ReportDocumentMap用于在Web贝闻显小报表中的书签,需要指定该控件 的 ReportViewer 属性.ReportParameterPanel用于 Web贝闻传递参数给报表,需要指止该控件的ReportViewer 属性.ReportViewer用于Web贝间呈现报表,需指止该控件的Report属性 为要显示的报表实例.ReportToolbar与ReportViewer控件配合使用,实现翻出,打印,导 出等功能.2 .报表设计时控件:控件说明XRLabel标签控件,允许把单行或多行文本插入到报表中.此文本可能是静态的,也

13、可能是动态绑定.XRCheckBox复选框控件,被设计用于在报表中显小 True/False或 选中 /未选中/不确定状态.XRRichText富文本控件,被设计用于显示、输入和操作设置格式的文 本.XRPictureBox图片框控件,用于显示报表中的图像.XRPanel面板控件,可以包含其他报表控件.XRTable表格控件,用于插入表格包括行和单元格.XRLine线条控件,用于在报表中绘制垂直线、水平线或斜线.XRShape形状控件,用于把简单的图形嵌入到报表中.XRBarCode条形码控件,允许把许多/、同的条形码类型插入到报表中.XRZipCode邮政编码控件,允许把表示邮政编码的数字插

14、入到报表中.XRChart图表控件,可以用于以图形视图呈现数据.XRPivotGrid透视网格控件,用于以交叉表的形式呈现下层数据源中的 数据,从而创立交叉表报表.XRPageInfo显示某些辅助信息的控件. 使用此控件可以在报表中显示 贞码、当前日期或用户信息.XRPageBreak分页符控件,用作标记报表应开始新贝而.XRCrossBandLine可以跨多个带区的线条控件.XRCrossBandBox可以跨多个带区的方框控件.XRSubReport子报表控件,用于显示子报表.六、报表类型1 .静态报表 是简单呈现某些静态信息的报表.这种报表通常不绑 到数据源,并且在一页上显示单个控件或一组

15、控件.如果需要屡次重复相同的报表内容, 那么使用 XtraReportBase.DetailPrintCount属性.2 .表格报表是以表格形式呈现信息的报表.这些信息被存储在报表的绑定数据源中也可以运行时从数据库中读取,并且通常此数据源不分层级 例如, 只包含一个数据表.使用XRTable控件,并且绑定表格的单元格来呈现数据 源中的数据;3 .主从报表 如果某个报表被用于显示分层级的数据源中的数据,那么通常把它称为主/从报表.创立主/从报表的两种主要方法. 第一种方法:是以使用从 报表带区为根底使用DetailReportBand带区,当数据源包含主实例和从实 例之间的ADO.NET关系时,

16、使用这种方法使用.第二种方法:是创立两个不同的报表类,并且把从报表作为子报表而合并到主报表中使用 XRSubReport空件,指定此控件的ReportSource属性为子报表.4 .多栏报表 是以多个列或行取决于当前白多栏设置呈现数据的报表.这种 报表是有用的,例如,当每个细节带区都只显示少量数据、并且需要在一列的右侧打印下一个细节带区的外观时, 这样就能充分利用整个页面宽度.此外,当创立有相同内容的 卡片或邮寄地址签、并且需要在许多报表页面上打 印大量相同尺寸的卡片时,多栏报表也是有用的.由于多栏布局主要影响报表的细节带区,因此可以通过 Detail带区的 DetailBand.MultiC

17、olumn属性来指定多栏模式.要启用多栏模式,那么把 MultiColumn.Mode属性设置为除去None之外的其他取值 栏数固定,栏宽度相同并且被自动计算.为此,应该把MultiColumn.Mode属性设置为MultiColumnMode.UseColumnCount,并把 MultiColumn.ColumnCount 属性设 置为所需的栏数.自动计算栏数,所有栏的宽度都是相同的固定宽度.为此,应该把MultiColumn.Mode属性设置为 MultiColumnMode.UseColumnWidth ,并且把 MultiColumn.ColumnWidth 属性 设置为所需的栏宽度

18、.5 .交叉表报表 是以交叉表形式呈现信息的报表.交叉表或透视表类似于简单的普通数据绑定表格,但是改为在单个表格中呈现多维的分层级的信息, 并含有每行和每列的自动排序、计数、合计和累计.使用XRPivotGrid控件,并为此控件指定数据源、绑定字段到列,同时要保证报表的数据源为NULL如果两者使用相同的数据源,那么XRPivotGrid控件将被打印与数据源行数相 同的次数.6 .并列报表在报表中显示两栏相同的或者不同的信息,主要依赖于 XRSubReportg 件.7 . Drill-Through报表 类似于主从报表,但是子报表是通过超链接来访问的.超 链接的设置将在下面数据绑定局部介绍.8

19、 .邮件合并报表试图创立e-mail模板时,经常会遇到困难.在这些模板中,某些文本是不变的,某些字段通常被使用预定义的标记括起来应该在创立 文档时填充来源于数据库的数据.此项功能也被称为 邮件合并,并且使用XtraReports可以轻松实现.大体上,要创立嵌入字段,那么需要把由中括号括起的数据字段名称插入到控件的文本中,如果在当前的数据上下文中,字段是有效的,那么当报表 被预览或导出时,它将被替换为一个适当的数据值.9 .标签报表此报表与多栏报表相类似七、报表数据源1 .数据源通过XtraReport对象的 XtraReportBase.DataSource属性把它绑定至U数据 源,而与特定的

20、数据源类型和所使用的数据绑定方法无关.唯一的例外是当使用 XML数据源时,需要指派到 XtraReportBase.XmlDataPath属性,同 时要求把 XtraReportBase.DataSource属性设置为 null.2 .绑定数据的方法2.1. 使用.NET数据提供程序绑定报表这种方法意味着数据被存储在数据库中.使用已提供的两种数据适配器组件之一,就可以把报表绑定到这种数据:OleDbDataAdapter,使用OLE DB访问公开的数据源;SqlDataAdapter,被设计用于使用由 Microsoft SQL Server 7.0或后续版本提 供的数据源.这些数据适配器都使

21、用连接对象来绑定数据,并且能够生成包含数据表的 DataSet对象.然后通过把数据表或绑定到表的数据视图直接指派到 XtraReportBase.DataSource属性,它们就可以被绑定报表.也可以把生成的 DataSet对 象指派至U XtraReportBase.DataSource属 性,并且使用 XtraReportBase.DataAdapter属性来指定数据适配器的名称.2.2. 把报表绑定到List在运行时刻创立的数据对象必须支持IList、ITypedList或IBindingList接口,并且被指派到 XtraReportBase.DataSource属性. 注意,你不需要

22、创 建自定义的数据源对象.例如,可以在运行时刻使用填充了数据的DataTable 对象.2.3. 把报表绑定到XML数据这种方法使用存储在 XML文件中的数据.可以以两种方式之一来访问这 种数据.把XtraReportBase.DataSource属性值设置为根据XML文件创立 的数据集;直接把XML文件指派到XtraReportBase.XmlDataPath属性. 八、数据绑定与报表预览 1.设计时绑定在设计时绑定数据源,需要把相应的数据源添加到应用程序中,即在应用程序中添加DataSet程序集,然后在报表设计界面,把报表的数据源指定到相 应的数据集上,翻开Field List字段列表,将

23、相应的字段用鼠标拖到相应的控 件上即可.点击Preview即可预览报表.2 .运行时绑定在运行时绑定数据源,更具灵活性,它可以根据需要从数据库中读取有用的数据来呈现在报表上.对于运行时绑定数据源,其数据绑定操作要在报表的 构造函数中完成.在报表设计器中只需把相应的控件放置好即可.报表控件 中都有一个DataBindings属性,此属性的Add方法可以把数据绑定到控件上. 例如代码:Void DataBind ()(DataSource=tb / tb 为 DataTablexrLabel1.DataBinds.Add(" Text",null, " COlumn1

24、xrLabel2.DataBinds.Add(" Text",null, " Column2"," Fo0a|String )在报表的构造函数中调用以上方法就可以将数据绑定到xrLabel上,其中Add方法有两个重载:Control.DataBinds.Add(空件属性,数据源,绑定字段)Control.DataBinds.Add(空件属性,数据源,绑定字段,格式化设置 )每个控件可绑定的属性可能有所不同,可以通过该控件的DataBinds属性来查 看.3 . Chart控件绑定Chart控件与PivotGrid控件都需要独立指定数据源,同时,

25、如果这两个控件 被放置Detail带区中,报表不能指定数据源,不然,该控件将被显示与报表 数据源行数相同的次数.对与Chart控件的数据绑定,要把相应字段绑定到对应的Series上,ArgumentDataMember 为 X 轴绑定字段,ValueDataMembersSerializable为 Y 轴字段.一个图表中可以有多个Series,可以通过Series索引或者Name来找到相应的 Series.ChartJ空件中Series集合表示图表,Titles集合是对应Series的标题. 例如代码:protected void DataBind()(string sqlStr = &quo

26、t;select UnitPrice,ProductName from ProductSales group by ProductName,UnitPrice"this.xrChart1.DataSource = helper.getDataTable(sqlStr);this.xrChart1.Series0.ArgumentDataMember = "ProductName"this.xrChart1.Series0.ValueDataMembersSerializable = "UnitPrice"this.xrChart1.Series

27、0.Name = "Price"this.xrChart1.Series0.LegendPointOptions.PointView = PointView.Argument; his.xrChartl.Legend.Visible = false;九、数据呈现由于数据源提供方式分为设计时与运行时, 所以数据呈现也有所不同.对于运行 时提供数据源的报表,分组、排序都需要通过代码添加到报表中,而设计时提供 数据源那么可以直接通过图形化界面进行设置.1 .数据分组与排序运行时分组需要在数据绑定函数中参加如下代码:this.GroupHeader1.GroupFields.Add

28、(newGroupField("StudentID",XRColumnSortOrder.Descending);GroupField的两个参数分别为分组字段,排序方式.2 .数据筛选2.1. 在报表级筛选在报表中添加Parameters属性中添加筛选参数,并设置筛选条件,在Web 页面上 Parameters中的参数列表将被显示在 ReportParameterPanel控件 中,报表中添加参数以后,默认状态预览报表需要点击Submit后报表才被创立,假设要不提供参数也创立报表,需要将报表的RequestParameters属性设置为false.2.2. 在数据源级筛选在

29、数据级筛选数据,主要是通过 SQL语句的where条件,要将 Where条 件的参数传递到报表类中,可以通过报表的构造函数,其他方式有待研究. 同时结合在报表级的数据筛选,可以方便点的在页面上呈现出需要的数 据.3 .数据格式化通过控件的FormatString属性可以根据需要设置相应的格式化输出样式.通 过控件的Summary属性来设置各种统计功能.十、外观设置1 .外观属性外观属性如下表:属性说明BackColor获取或设置报表元素及其子控件的背景色BorderColor获取或设置报表元素及其子控件的边框色.BorderDashStyle获取或设置报表元素及其子控件的边框虚线样式.Bord

30、ers获取或设置报表元素及其子控件的可视边框 上、右、下、 左.BorderWidth获取或设置报表元素及其子控件的边框宽度.Font获取或设置报表元素及其子控件的字体选项 字体名称、 大小等.ForeColor获取或设置报表元素及其子控件的前景色.Padding获取或设置用于绘制报表元素及其子控件内容的缩进量.TextAlignment获取或设置报表元素及其子控件的文本对齐方式.2 .样式2.1 奇偶行样式它允许在视觉上把报表中连续的数据字段划分开,从而有更好的可读性.要把这些样式应用于控件,那么应该使用其XRControl.OddStyleName和XRControl.EvenStyleName属性.2.2 .样式表在设计时刻可以使用 Styles Ed4or样式编辑器来治理报表的样式表、 定制样式表、存储到文件以及从文件中加载.因此,可以创立多个样式 表,并且在设计时刻或运行时刻加载.保存报表的样式表的方式有两种.第一种方式是保存为外部文件有REPSS扩展名,然后使用 XtraReport.StyleSheetPath属性,以只读模式加载到报表 这种方式在 如 何:创立和存储报表样式表主题中进行了描述.第二种方式是把样 式表存储在报表内使用Xtr

温馨提示

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

评论

0/150

提交评论