Skip to main content

FullscreenReportWizardPageIterator Class

Defines the Report Wizard‘s page sequence.

Declaration

export class FullscreenReportWizardPageIterator extends PageIterator<DevExpress.Reporting.Designer.Wizard.IReportWizardState>

Remarks

Use this class to change the page count and/or sequence. For instance, you can remove a specific wizard page or register a new page.

  1. Handle the wizard’s afterInitialize event.
  2. Use the event argument’s wizard property and access the iterator object.
  3. Override the iterator’s getNextPageId method that returns the next wizard page’s ID based on the current page’s ID passed as the parameter. Use the FullscreenReportWizardPageId values to identify page IDs.

The following example demonstrates how to hide the Select Data Source page from the Report Wizard and enable users to create SQL data sources only.

<script type="text/javascript">
   function beforeInit(args) {
       args.state.dataSourceType = 1;
   }

   function afterInit(args) {
       // Remove the "Select Data Source" page's metadata from the factory.
       args.wizard.pageFactory.unregisterMetadata(DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardPageId.SelectDataSourcePage);
       // Override the navigation logic to skip the "Select Data Source" page.
       var defaultGetNextPageId = args.wizard.iterator.getNextPageId;
       args.wizard.iterator.getNextPageId = function (pageId) {
           if (pageId === DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardPageId.SelectReportTypePage) {
               return DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardPageId.SpecifySqlDataSourceSettingsPage;
           } else {
               return defaultGetNextPageId.apply(this, [pageId]);
           }
       }
   }

   function CustomizeWizard(s, e) {
       if (e.Type === "ReportWizard") {
           e.Wizard.events.addHandler("beforeInitialize", beforeInit)
           e.Wizard.events.addHandler("afterInitialize", afterInit)
       }
   }
</script>

<dx:ASPxReportDesigner ID="ASPxReportDesigner2" runat="server">
    <ClientSideEvents CustomizeWizard="CustomizeWizard" />
</dx:ASPxReportDesigner>

The resulting Report Wizard:

See the following topics for more information:

Inherited Members

Inheritance

PageIterator<T>
FullscreenReportWizardPageIterator

constructor(pagesFactory, stateManager, _onResetPage, _reportWizardOptions)

Initializes a new instance of the FullscreenReportWizardPageIterator class with specified settings.

Declaration

constructor(
    pagesFactory: DevExpress.Analytics.Wizard.PageFactory,
    stateManager: DevExpress.Analytics.Wizard.StateManager,
    _onResetPage: (page: DevExpress.Analytics.Wizard._WrappedWizardPage) => void,
    _reportWizardOptions: DevExpress.Reporting.Designer.Wizard._ReportWizardOptions
)

Parameters

Name Type
pagesFactory PageFactory
stateManager StateManager
_onResetPage (page: _WrappedWizardPage) => void
_reportWizardOptions _ReportWizardOptions

Methods

getNextPageId Method

Returns the next page’s ID.

Declaration

getNextPageId(
    pageId?: string
): string

Parameters

Name Type Description
pageId string

The current page’s ID.

Returns

Type Description
string

The next page’s ID.

Remarks

Use this method to change the page count and/or sequence. For instance, you can remove a specific wizard page or register a new page.

See the following topics for more information: