FullscreenWizardPageFactory Class
Stores metadata for all wizard pages.
Declaration
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.
- Handle the wizard’s afterInitialize event.
- Use the event argument’s wizard property to access the pageFactory object.
- 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.
- 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:
- Customize the Report/Data Source Wizard (ASP.NET Web Forms)
- Customize the Report/Data Source Wizard (ASP.NET MVC)
- Customize the Report/Data Source Wizard (ASP.NET Core)
Inheritance
Properties
metadata Property
Specifies the collection of metadata objects for wizard pages.
Declaration
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
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
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.