关于devexpress报表XtraReport,动态修改报表样式(.repx格式),动态添加数据并使用的理解...

本文详细介绍了如何在DevExpress的XtraReport中动态修改报表样式,包括加载.repx文件并绑定数据源,以及报表的各种类型、数据源绑定方法、数据呈现和交互导航。强调了在动态修改样式后必须先加载布局再绑定数据源,以防止数据被覆盖。
摘要由CSDN通过智能技术生成

一、基本概念:

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

二、页面构建时用到的事件

Before Print:

在 预览/打印/导出 报表期间,在 XRControl 对象创建其图像之前,XRControl.BeforePrint 事件发生,主要用于以程序方式改变报表的属性、带区的属性、以及存放在 DetailBand 细节带区中的控件的属性。

 

在此事件中可以执行大部分任务 (例如改变 XRControl.Visible、XRControl.BackColor、XRControl.BorderColor 以及其他属性),可以被轻松执行,而 无需编写代码,只是使用 格式设置规则。 此外,BeforePrint 事件可以被接管,从而重新指派控件的样式,并且调整其 XRControl.LocationF 属性。

 

 BeforePrint 事件中,可以使用 XtraReportBase.GetCurrentColumnValue 方法为数据绑定控件获取数据列的当前值。 注意,在此事件中,修改控件的绑定信息就太迟了。 因此,对于数据绑定控件,可以只调整其静态文本。

示例代码:

private void xrLabel1_BeforePrint(object sender, PrintEventArgs e)

{

    if (Convert.ToDouble(this.GetCurrentColumnValue("UnitPrice")) > 30) {

        XRControl control = this.FindControl("xrLabel1", true);

        control.LocationF = new PointF(15F, 15F);

        control.Styles.Style = this.StyleSheet[0];

     }

}

 

三、报表结构

整个报表是由多个绑定带区组成,绑定带区如下:

绑定带区

说明

TopMarginBand

每个页面上面都显示的空白(天头),在PageHeaderBand或者ReportHeaderBand上面

ReportHeaderBand

在报表起始位置(报表头), 此带区被设计用于显示某些概述信息,例如报表的封面。

PageHeaderBand

在每个页面的上方(页眉),在TopMarginBand或者ReportHeaderBand下方

GroupHeaderBand

在每组的起始位置,或者在分跨多个页时而位于组的上方(分组标头)。 此带区指定分组标准,并被用于显示每组记录起始位置的信息

DetailBand

在页面上所有其他带区之间(细节)。 此带区每行只显示绑定数据源中的一条记录,或者当没有为报表指定数据源时而简单地持有非绑定控件。

DetailReportBand

在DetailBand的下方(从表),被设计用于在创建主/从报表时持有从报表

GroupFooterBand

在每组的结束位置,或者在分跨多个页时而位于组的下方(分组脚注)。   此带区主要被设计用于显示每组的总结信息。

ReportFooterBand

在报表结束位置(报表脚注)。 此带区被设计用于显示某些终极信息,例如报表总结。

PageFooterBand

在每个页面的下方(页脚)在ReportFooterBand下方和BottomFooterBand上方,此带区被设计用于从之前页面接续的页码或表尾

BottomMarginBand

每个页面底部的空白(地脚),在PageFooterBand的下方。

 

四、报表常用属性

属性

说明

BackColor

设置报表控件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值