本文档介绍了在报表中被用于显示多种信息的 报表控件。 在 Visual Studio 设计时刻或 最终用户报表设计器 中,所有这些控件都可以被添加到报表中,也可以以程序方式被添加到运行时刻创建的报表中。 本主题中可以找到在 XtraReports 中可用的控件清单,以及关于使用它们的一些基本建议。
另外,在 XtraReports 中还可以创建和使用自定义报表控件。 更多信息,请参阅 创建自定义控件。
本文档由下列小节组成。
什么是报表控件?
控件类型
所有报表控件都继承自 XRControl 基本类。 该类提供了在报表中显示和管理信息的对象所必需的大部分基础功能。 请参阅 主要类的层次结构 文档,来了解 XtraReports 中类的层次结构。
下面是在 XtraReports 中可用的基础报表控件的清单。
报表控件 |
说明 |
---|---|
XRLabel | 标签控件,允许把单行或多行文本插入到报表中。 注意,此文本可能是静态的,也可能是动态从报表数据源中装载的。 |
XRCheckBox | 复选框控件,被设计用于在报表中显示 True/False 或 选中/未选中/不确定 状态。 |
XRRichText | 富文本控件,被设计用于显示、输入和操作设置格式的文本。 可以在设计时刻输入文本和设置文本格式、从外部文件中加载、或者把此控件绑定到数据字段。 |
XRPictureBox | 图片框控件,用于显示报表中的图像。 使用此控件可以把不同类型的图像插入到报表中。 |
XRPanel | 面板控件,可以包含其他报表控件。 使用它可以对控件分组,或者使控件操作更容易。 |
XRTable | 表格控件,用于插入表格 (包括行和单元格)。 如果需要以表格形式显示数据,那么此控件就是“无价之宝”。 |
XRTableRow | 表格中的一行。 通常不需要个别地使用表格行进行处理。 而是使用单元格。 |
XRTableCell | 表格中的单元格。 把它的 XRControl.Text 属性绑定到数据字段,或者在单元格中插入任意 绑定 报表控件。 |
XRLine | 线条控件,用于在报表中绘制垂直线、水平线或斜线。 |
XRShape | 形状控件,用于把简单的图形嵌入到报表中。 更多信息,请参阅 形状 主题。 |
XRBarCode | 条形码控件,允许把许多不同的条形码类型插入到报表中。 更多信息,请参阅 条形码。 |
XRZipCode | 邮政编码控件,允许把表示邮政编码的数字插入到报表中。 |
XRChart | 图表控件,可以用于以图形视图呈现数据。 更多信息,请参阅 图表。 |
XRPivotGrid | 透视网格控件(也被称为透视表),用于以交叉表的形式呈现下层数据源中的数据,从而创建交叉表报表。 更多信息,请参阅 透视网格。 |
XRPageInfo | 一个在报表中显示某些辅助信息的控件。 使用此控件可以在报表中显示页码、当前日期或用户信息。 |
XRPageBreak | 分页符控件,用作标记报表应开始新页面。 也请注意,如果需要正好在特定带区前后进行分页,那么可以使用 Band.PageBreak 属性来替代此控件。 |
XRCrossBandLine | 可以跨多个带区的线条控件,从 XRCrossBandControl.StartBand 中的 XRCrossBandControl.StartPoint(起点) 到 XRCrossBandControl.EndBand 中的 XRCrossBandControl.EndPoint(终点) 进行绘制。 |
XRCrossBandBox | 可以跨多个带区的方框控件,从 XRCrossBandControl.StartBand 中的 XRCrossBandControl.StartPoint(起点) 到 XRCrossBandControl.EndBand 中的 XRCrossBandControl.EndPoint(终点) 进行绘制。 |
另外,XtraReports 还提供了两个特殊的报表控件,允许把复杂的结构插入到报表中。 这些控件包括:
报表控件 |
说明 |
---|---|
XRSubreport | 一个子报表控件,用于把一个报表插入到另一个报表中。 例如,当子报表包含某些必须在其他报表中使用的模板信息时,就可以用于此控件。 XRSubreport 控件也被设计用于创建主/从报表。 要获得更多如何完成此任务的信息,请参阅 子报表 主题。 |
WinControlContainer | 一个用于把任意 Windows 窗体控件(包括标准控件和第三方控件) 插入到报表中的控件。 在这种情况下, WinControlContainer 控件作为所插入控件的封装,并且支持它的绘制方法。 要获得更多关于把 Windows 窗体控件插入到报表中的信息,请参阅 标准的 Windows 窗体控件 主题。 |
某些报表控件 (以及报表带区) 可以作为其他控件的容器 (对于这些控件,其 XRControl.CanHaveChildren 属性返回 true)。 在这种情况下,可以通过容器对象的 XRControl.Controls 属性来访问所包含控件的集合。 要从被包含的控件中访问父容器控件,则使用它的 XRControl.Parent 属性。
编辑报表控件
可以以不同的方式把报表控件添加到报表中。 例如,可以使用下列方法之一:
- 设计时刻
要在设计时刻添加报表控件,则可以把适当的项从 Visual Studio 工具箱的 DX.10.2: Report Controls 标签页中拖放到报表上。
- 设计时刻
另一种添加报表控件的方式是使用 字段列表 窗口。 当任意数据字段被拖放到报表上时,一个新的报表控件就被添加,并且自动绑定到指定的数据字段。
注意 要学习更多关于为报表控件提供数据的内容,请参阅 标准的数据绑定 文档。
- 运行时刻
要在运行时刻把报表控件添加到报表中,只需要创建相应类型的一个变量,然后通过 XRControlCollection.Add 方法把它添加到某个报表带区中。 请确保在代码中引用了 DevExpress.XtraReports.UI 命名空间。
下面的示例演示了如何创建一个 XRControl 对象并且设置它的一些属性。 所创建控件的背景色是 LightGray,左、右边框的宽度都等于 10 并且边框颜色都是 Blue。 此控件位于点 (200,100) 上。
C# 复制代码 using System.Drawing; using DevExpress.XtraReports.UI; // ... public XRControl CreateMyXRControl() { // Create a control. XRControl xrControl1 = new XRControl(); // Set its background color. xrControl1.BackColor = Color.LightGray; // Set its border color. xrControl1.BorderColor = Color.Blue; // Make its left and right borders visible. xrControl1.Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right; // Set its border's width (in pixels). xrControl1.BorderWidth = 10; // Set its location and size (in hundredths of an inch). xrControl1.LocationF = new PointF(200F, 100F); xrControl1.SizeF = new SizeF(300F, 150F); return xrControl1; }
Visual Basic 复制代码 Imports System.Drawing Imports DevExpress.XtraReports.UI ' ... Private Function CreateMyXRControl() ' Create a control. Dim xrControl1 As New XRControl() ' Set its background color. xrControl1.BackColor = Color.LightGray ' Set its border color. xrControl1.BorderColor = Color.Blue ' Make its left and right borders visible. xrControl1.Borders = DevExpress.XtraPrinting.BorderSide.Left Or _ DevExpress.XtraPrinting.BorderSide.Right ' Set its border's width (in pixels). xrControl1.BorderWidth = 10 ' Set its location and size (in hundredths of an inch). xrControl1.Location = New Point(200, 100) xrControl1.SizeF = new SizeF(300F,150F) Return xrControl1 End Function