Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

FullscreenWizardPageFactory Class

Stores metadata for all wizard pages.

#Declaration

TypeScript
export class FullscreenWizardPageFactory extends PageFactory

#Remarks

The page factory stores metadata for all wizard pages by their IDs. A metadata object implements the IFullscreenWizardPageMetadata interface. The StateManager uses its getState and setState methods to manipulate with a local page state.

You can use the page factory’s unregisterMetadata method to remove a specific page from the wizard.

  1. Handle the wizard’s afterInitialize event.
  2. Use the event argument’s wizard property to access the pageFactory object.
  3. Call this object’s unregisterMetadata method and pass the corresponding FullscreenReportWizardPageId/FullscreenDataSourceWizardPageId enumeration value as the parameter. This removes the page’s metadata from the factory and hides the page from the navigation panel.
  4. Use the event argument’s wizard property to access the iterator object and override its getNextPageId method to remove the page from the navigation logic.

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 beforePageInit(args) {
       // Identify the "Select Data Source" page.
       if (args.pageId === DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardPageId.SelectDataSourcePage) {
           // Remove the page's section that displays available data sources.
           args.page.unregisterSection(DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseAvailableDataSourcePage);
           // Make the "Select data source type" section occupy the entire page.
           args.page.setSectionPosition(DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseDataSourceTypePage);
           // Override the navigation logic to skip the removed section.
           args.page.getNextSectionId = function(sectionId) {
               if(!sectionId) return DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseDataSourceTypePage;
           }
       }
   }

   function CustomizeWizard(s, e) {
       if(e.Type === "ReportWizard") {
           e.Wizard.events.addHandler("beforePageInitialize", beforePageInit)
       }
   }
</script>

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

The resulting Report Wizard:

See the following topics for more information:

#Inheritance

PageFactory
FullscreenWizardPageFactory

#Properties

#metadata Property

Specifies the collection of metadata objects for wizard pages.

#Declaration

TypeScript
metadata: {
    [key: string]: IFullscreenWizardPageMetadata<DevExpress.Analytics.Wizard.IWizardPage>;
}

#Property Value

Type Description
[key: string]: IFullscreenWizardPageMetadata<IWizardPage>

The collection of metadata objects.

#Methods

#getMetadata(key) Method

Returns the specified page’s metadata.

#Declaration

TypeScript
getMetadata(
    key: string
): IFullscreenWizardPageMetadata<DevExpress.Analytics.Wizard.IWizardPage>

#Parameters

Name Type Description
key string

The page ID.

#Returns

Type Description
IFullscreenWizardPageMetadata<IWizardPage>

The page metadata.

#registerMetadata<T>(pageId, metadata) Method

Registers the specified page metadata.

#Declaration

TypeScript
registerMetadata<T extends DevExpress.Analytics.Wizard.IWizardPage>(
    pageId: string,
    metadata: IFullscreenWizardPageMetadata<T>
): void

#Parameters

Name Type Description
pageId string

The page ID.

metadata IFullscreenWizardPageMetadata<T>

The page metadata.

#Type Parameters

Name Type Description
T IWizardPage

The page.

#Remarks

Use this method to add a new page to the wizard.