Back to Devexpress

Invoke the Report Wizard

xtrareports-4274-desktop-reporting-winforms-reporting-end-user-report-designer-for-winforms-api-and-customization-invoke-the-report-wizard.md

latest2.8 KB
Original Source

Invoke the Report Wizard

  • Sep 26, 2023
  • 2 minutes to read

This example demonstrates how to invoke the Report Wizard by calling the XRDesignMdiController.CreateNewReportWizard method.

After the report has been created, it is saved to a temporary file, where it can be later reconstructed and previewed.

vb
Imports System
Imports System.Windows.Forms
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraReports.UserDesigner
' ...

Namespace docNewReportWizard
    Partial Public Class Form1
        Inherits Form

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub simpleButton1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles simpleButton1.Click
            Dim fileName As String = CreateReport()

            Me.BeginInvoke(New MethodInvoker(Sub() PreviewReport(fileName)))
        End Sub

        Private Function CreateReport() As String
            Dim fileName As String = "temp.repx"
            Dim form As New XRDesignForm()
            form.DesignMdiController.CreateNewReportWizard()
            form.ActiveDesignPanel.BeginInvoke(New MethodInvoker(Sub() form.ActiveDesignPanel.Report.SaveLayout(fileName)))
            Return fileName
        End Function
        Private Sub PreviewReport(ByVal fileName As String)
            Dim newReport As XtraReport = XtraReport.FromFile(fileName, True)
            newReport.ShowPreview()
        End Sub

    End Class
End Namespace
csharp
using System;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.UserDesigner;
// ...

namespace docNewReportWizard {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void simpleButton1_Click(object sender, EventArgs e) {
            string fileName = CreateReport();

            this.BeginInvoke(new MethodInvoker(
                () => {
                    PreviewReport(fileName);
                }
                ));
        }

        private string CreateReport() {
            string fileName = "temp.repx";
            XRDesignForm form = new XRDesignForm();
            form.DesignMdiController.CreateNewReportWizard();
            form.ActiveDesignPanel.BeginInvoke(new MethodInvoker(() => { form.ActiveDesignPanel.Report.SaveLayout(fileName); }));
            return fileName;
        }
        private void PreviewReport(string fileName) {
            XtraReport newReport = XtraReport.FromFile(fileName, true);
            newReport.ShowPreview();
        }

    }
}