[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Collapse]Reporting
 [Expand]Product Information
 [Expand]Get Started with DevExpress Reporting
 [Expand]Create Popular Reports
 [Expand]Detailed Guide to DevExpress Reporting
 [Expand]Visual Studio Report Designer
 [Collapse]Create End-User Reporting Applications
   Cross-Platform Reporting
  [Collapse]WinForms Reporting
   [Expand]Print API
   [Expand]Print Preview
   [Collapse]End-User Report Designer
    [Expand]Quick Start
    [Expand]GUI
    [Collapse]API and Customization
      Quick Guide to Report Designer Customization
      Add Items to the Report Designer's Standard Toolbar
      Add Items to the Report Designer's Ribbon Toolbar
      Execute Commands in the End-User Report Designer
      Override Commands in the End-User Report Designer (Implement Custom Saving)
      Hide Commands from the End-User Report Designer
      Change the Dock Panel View in the End-User Report Designer
      Customize Dock Panels in the End-User Report Designer
      Remove Dock Panels from the End-User Report Designer
      Set the Input Focus of Dock Panels in the End-User Report Designer
      Refresh the Field List in the End-User Report Designer
      Provide Custom Icons to the Field List Items
      Provide Custom Names to the Field List Items
      Hide Properties from the End-User Report Designer
      Use Favorite Properties in the End-User Report Designer
      Customize the Property Grid in the End-User Report Designer
      Register Custom Report Parameter Types
      Implement a Custom Report Gallery Storage
      Add Controls to the End-User Report Designer's Toolbox
      Make a Custom Control Available Only for a Specific Report
      Rename Toolbox Items in the End-User Report Designer
      Invoke the Report Wizard
      Wizard Customization Overview
      Report Wizard Pages
      Data Source Wizard Pages
      Customize the Report Wizard's Pages
      Remove Data Providers from the Report Wizard
      Remove Data Source Types from the Report Wizard
      Invoke and Customize the Query Builder
   [Expand]Application Security
   [Expand]Application Appearance
    Application Deployment
   [Expand]Localization
    End-User Documentation
  [Expand]WPF Reporting
  [Expand]Web Reporting
  [Expand]WCF Report Service
  [Expand]Discontinued Platforms
   Localization
   Redistribution and Deployment
 [Expand]API Reference
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Customize the Report Wizard's Pages

This document describes how to add a custom page to a Report wizard.

Expanded Create a Custom Report Wizard Page

Each wizard page is defined by a Wizard Page View determining the page's visual interface and a Wizard Page Presenter determining the program logic behind the wizard page. To create a custom wizard page, do one of the following.

Each page presenter should override the WizardPageBase<TView, TModel>.GetNextPageType method that returns the type of the subsequent wizard page and defines the order in which wizard pages are displayed.

Expanded Incorporate a Custom Page Into the Report Wizard

To customize the Report and/or Data Source wizard, implement the IWizardCustomizationService interface. The wizard customization logic should be written in the body of the IWizardCustomizationService.CustomizeDataSourceWizard method (to customize the Data Source wizard) and the IWizardCustomizationService.CustomizeReportWizard method (to customize the Report wizard). Both these methods receive a tool argument of the IWizardCustomization<TModel> (see IWizardCustomization`1) type providing access to the IWizardCustomization`1 property that allows you to specify the first wizard page.

Each page presenter and page view should be registered by calling the IWizardCustomization<TModel>.RegisterPage<TPageType, TPageInstance> (see DevExpress.DataAccess.UI.Wizard.IWizardCustomization`1.RegisterPage``2) and IWizardCustomization<TModel>.RegisterPageView<TViewType, TViewInstance> (see DevExpress.DataAccess.UI.Wizard.IWizardCustomization`1.RegisterPageView``2) methods respectively.

The RegisterPage method associates the type that identifies the page within the wizard (the type that should be returned by the GetNextPageType method of the previous page) with the actual type of the page that should be displayed. In the same way, the RegisterPageView method associates the type identifying the page view (the corresponding presenter's type parameter) with the actual type. This allows you to substitute any standard wizard page with its descendant. The code sample below demonstrates how to substitute the query customization page with a custom page.

Expanded Register the Wizard Customization Extension

To apply your wizard customization logic to the End-User Report Designer for WinForms, pass an instance of your IWizardCustomizationSevice implemetation to the report designer's XRDesignMdiController.AddService method as shown below.

Expanded See Also

Is this topic helpful?​​​​​​​