注意 |
---|
重要说明: .NET Client Profile Framework 不支持此功能。 要在最终用户的机器上使用此功能,则必须安装完整的 .NET Framework。 更多信息,请参阅 Windows 窗体部署 文档中的 关于 .NET Framework 4.0 Client Profile 的重要说明 小节。 |
本文档阐述了在 MDI Ribbon 最终用户设计器窗体 (提供的用户界面类似于由 Microsoft Office® 2007 推出的界面) 中显示报表的多种方式。 要学习如何显示 标准的 最终用户设计器窗体,请参阅 调用标准的最终用户设计器窗体。
在本文档中包含下列小节。
通过报表的方法来调用
要为特定的 XtraReport 对象运行“Ribbon 最终用户设计器窗体”的最简单的方式,是调用它的 XtraReport.ShowRibbonDesigner 或 XtraReport.ShowRibbonDesignerDialog 方法。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; // ... private void button1_Click(object sender, EventArgs e) { // Create a report instance. XtraReport1 report = new XtraReport1(); // Invoke the Ribbon End-User Designer form. report.ShowRibbonDesigner(); // Invoke the Ribbon End-User Designer form, modally. report.ShowRibbonDesignerDialog(); } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms ' ... Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click ' Create a report instance. Dim report As New XtraReport1() ' Invoke the Ribbon End-User Designer form. report.ShowRibbonDesigner() ' Invoke the Ribbon End-User Designer form, modally. report.ShowRibbonDesignerDialog() End Sub |
但是,这种方式缺乏灵活性,因为并非始终适宜为每个报表实例都加载一个单独的设计器,并且不能定制设计器。 因此,把报表分配到特殊的 ReportDesignTool 是更高效的,在下面的小节中说明了这一点。
通过报表设计工具来调用
为特定的 XtraReport 对象运行“Ribbon 最终用户设计器窗体”的最佳方式,是把报表指派到 ReportDesignTool 实例,并且调用其 ReportDesignTool.ShowRibbonDesigner 或 ReportDesignTool.ShowRibbonDesignerDialog 方法。
这种方式比使用 XtraReport 类的类似方法更灵活,因为可以在 MDI 设计器窗体中显示多个报表。 并且,对于 XRDesignRibbonForm 对象,可以通过 ReportDesignTool.DesignRibbonForm 属性进行访问。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraReports.UI; // ... private void Form1_Load(object sender, EventArgs e) { XtraReport1 report = new XtraReport1(); ReportDesignTool dt = new ReportDesignTool(report); // Invoke the Ribbon End-User Designer form. dt.ShowRibbonDesigner(); // Invoke the Ribbon End-User Designer form, modally. dt.ShowRibbonDesignerDialog(); } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms Imports DevExpress.XtraReports.UI ' ... Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click Dim report As New XtraReport1() Dim dt As New ReportDesignTool(report) ' Invoke the Ribbon End-User Designer form. dt.ShowRibbonDesigner() ' Invoke the Ribbon End-User Designer form, modally. dt.ShowRibbonDesignerDialog() End Sub |
当报表设计器的标准功能足以满足需求时,这种方式可以最好地工作。 但是,如果要使用自定义 Ribbon 最终用户设计器窗体,那么就遵照下一小节描述的方式。
使用特定的 Ribbon 设计器窗体
Ribbon 最终用户设计器窗体是由 XRDesignRibbonForm 类表示的。 它有下列属性,提供了对所有主要元素的访问。
- XRDesignForm.ActiveDesignPanel;
- XRDesignRibbonForm.DesignRibbonController;
- XRDesignRibbonForm.DesignDockManager;
- XRDesignRibbonForm.RibbonControl;
- XRDesignRibbonForm.RibbonStatusBar。
此示例展示了如何调用 Ribbon 最终用户设计器 窗体。
注意 |
---|
因为 XRDesignRibbonForm 类基于 RibbonForm 类,因此,为了在应用程序中使用它,必须把 DevExpress.XtraBars.v10.2 和 DevExpress.XtraEditors.v10.2 程序集添加到项目的“引用”列表中。 |
要使本示例能正确工作,则 XtraReport1 对象(派生于 XtraReport 类) 应该存在于应用程序中。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraReports.UserDesigner; // ... private void Form1_Load(object sender, EventArgs e) { // Enables form skins in the application (if required). DevExpress.Skins.SkinManager.EnableFormSkins(); DevExpress.LookAndFeel.LookAndFeelHelper.ForceDefaultLookAndFeelChanged(); } private void button1_Click(object sender, EventArgs e) { // Create a Ribbon End-User Designer form. XRDesignRibbonForm form = new XRDesignRibbonForm(); // Create a new blank report. form.OpenReport(new XtraReport1()); // Show the Ribbon End-User Designer form. //form.Show(); // Show the Ribbon End-User Designer form, modally form.ShowDialog(); } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms Imports DevExpress.XtraReports.UserDesigner ' ... Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As EventArgs) Handles MyBase.Load ' Enables form skins in the application (if required). DevExpress.Skins.SkinManager.EnableFormSkins() DevExpress.LookAndFeel.LookAndFeelHelper.ForceDefaultLookAndFeelChanged() End Sub Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click ' Create a Ribbon End-User Designer form. Dim form As New XRDesignRibbonForm() ' Create a new blank report. form.OpenReport(New XtraReport1()) ' Show the Ribbon End-User Designer form. ' form.Show() ' Show the Ribbon End-User Designer form, modally form.ShowDialog() End Sub |
下面的插图展示了此窗体的公共外观。
在应用程序中使用完全成熟的 Ribbon UI 的另一种方式,是在 RibbonForm 子对象 (其中包含 XRDesignRibbonController 组件) 中创建,在下一小节中详细进行了说明。
创建自定义 MDI Ribbon 设计器窗体
当需要比前一种方式提供更多的定制时,可以通过使用 XRDesignRibbonController 组件来创建自定义 Ribbon 最终用户设计器窗体。 它包含了实现 Ribbon UI 报表设计器的所有必需的元素。
注意 |
---|
因为 XRDesignRibbonController 基于 RibbonControl 组件,因此,为了在应用程序中使用它,还需要购买 XtraBars 套件。 |
通常,要在项目中实现 Ribbon UI,需要使用 RibbonForm 类的子类,它已经包含了 RibbonControl 控件,并被特别设计用于显示该控件。
在把 XRDesignRibbonController 的实例添加到此窗体之后,含有必要项的“Report Designer(报表设计器)”、“Print Preview(打印预览)” 和 “HTML View(HTML 视图)”标签页就被添加到 RibbonControl 中,并且所有必需的图像都被添加为项目的资源。 同时,XRDesignMdiController 和 XtraTabbedMdiManager 实例被添加,以便于为设计器提供多文档界面。
然后,只需要把 XRDesignDockManager 的一个实例拖放到此窗体中,以便于提供完整的 Ribbon UI。
相关的按步骤操作指南,请参阅 如何: 创建自定义最终用户设计器 Ribbon 窗体。
下面的插图展示了一个使用 XRDesignRibbonController 组件创建的应用程序。