注意 |
---|
重要说明: .NET Client Profile Framework 不支持此功能。 要在最终用户的机器上使用此功能,则必须安装完整的 .NET Framework。 更多信息,请参阅 Windows 窗体部署 文档中的 关于 .NET Framework 4.0 Client Profile 的重要说明 小节。 |
本文档阐述了如何调用 标准的 MDI 最终用户报表设计器窗体。 要学习如何调用类似的有 Ribbon 界面的窗体,请参阅 最终用户设计器 Ribbon 窗体。
可以以两种方式调用“最终用户设计器”: 通过把 ReportDesignTool 实例用于特定的报表,或者通过创建 XRDesignForm 类的实例并把报表加载到其中。 下面详细说明了这两种方式。
通过报表的方法来调用
要为特定的 XtraReport 对象运行标准“最终用户设计器窗体”的最简单的方式,是调用它的 XtraReport.ShowDesigner 或 XtraReport.ShowDesignerDialog 方法。
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 standard End-User Designer form. report.ShowDesigner(); // Invoke the standard End-User Designer form, modally. report.ShowDesignerDialog(); } |
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 standard End-User Designer form. report.ShowDesigner() ' Invoke the standard End-User Designer form, modally. report.ShowDesignerDialog() End Sub |
但是,这种方式缺乏灵活性,因为并非始终适宜为每个报表实例都加载一个单独的设计器。 设计器提供了更有效率的多文档界面,可以把报表分配到特定的 ReportDesignTool。 在下面的小节中说明了这一点。
通过报表设计工具来调用
为特定的 XtraReport 对象运行标准“最终用户设计器窗体”的最佳方式,是把报表指派到 ReportDesignTool 实例,并且调用其ReportDesignTool.ShowDesigner 或 ReportDesignTool.ShowDesignerDialog 方法。
这种方式比使用 XtraReport 类的类似方法更灵活,因为可以在 MDI 设计器窗体中显示多个报表。 并且,对于 XRDesignForm 对象,可以通过 ReportDesignTool.DesignForm 属性进行访问。
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 standard End-User Designer form. dt.ShowDesigner(); // Invoke the standard End-User Designer form, modally. dt.ShowDesignerDialog(); } |
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 standard End-User Designer form. dt.ShowDesigner() ' Invoke the standard End-User Designer form, modally. dt.ShowDesignerDialog() End Sub |
当报表设计器的标准功能足以满足需求时,这种方式可以最好地工作。 但是,如果要使用自定义最终用户设计器窗体,那么就遵照下一小节描述的方式。
使用特定的设计器窗体
当使用 自定义报表设计器 (派生于 XRDesignForm 对象) 时,通过 XRDesignForm.OpenReport 方法,可以把报表加载到其中。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraReports.UserDesigner; // ... private void button1_Click(object sender, EventArgs e) { // Create a new End-User Designer. XRDesignForm designForm = new XRDesignForm(); // Load a report into the designer. designForm.OpenReport(new XtraReport1()); // Show the End-User Designer window. designForm.Show(); } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms Imports DevExpress.XtraReports.UserDesigner ' ... Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click ' Create a new End-User Designer. Dim DesignForm As New XRDesignForm() ' Load a report into the designer. DesignForm.OpenReport(New XtraReport1()) ' Show the End-User Designer window. DesignForm.Show() End Sub |
通过 XRDesignPanel.Report 属性,可以访问在活动“设计面板”中编辑的当前报表。 然后,通过 XRDesignPanel.SaveReport 方法,可以把报表保存到文件。