How to Customize Views and Presenters Corresponding to Wizard Pages
- 3 minutes to read
To perform deep customization of the Data Source wizard pages, you can update corresponding views and presenters (Model-View-Presenter design pattern). To learn more about common concepts of the Data Source wizard customization, see Wizard Customization API.
To customize the Data Source wizard used in the WinForms Dashboard Designer, perform the following steps:
Implement the IDataSourceWizardCustomizationService interface. This interface exposes the IDataSourceWizardCustomizationService.CustomizeDataSourceWizard method that accepts the IWizardCustomization<TModel> object (where TModel is DashboardDataSourceModel). To register custom page views and presenters, use the following methods.
- Use the RegisterPageView<TViewType, TViewInstance>() method to register a custom page view.
- Use the RegisterPage<TPageType, TPageInstance>() method to register a custom page.
- After you have implemented IDataSourceWizardCustomizationService, assign the resulting object to the DashboardDesigner.DataSourceWizardCustomizationService property.
To learn about presenters and views specific to the WinForms Designer, see the tables below.
Common Pages
Wizard Page | Page Presenter | Page View Interface | Page View |
---|---|---|---|
Enter the Data Source Name | DashboardChooseDataSourceNamePage<TModel> | IChooseDataSourceNamePageView | ChooseDataSourceNamePageView |
Select the Data Connection Type | DashboardChooseDataProviderPage<TModel> | IChooseDataProviderPageView | DashboardChooseDataProviderPageView |
OLAP
Wizard Page | Page Presenter | Page View Interface | Page View |
---|---|---|---|
Select a Data Connection | ChooseOlapConnectionPage<TModel> | IChooseConnectionPageView | ChooseConnectionPageView |
Configure Connection Parameters | ConfigureOlapParametersPage<TModel> | IConfigureOlapParametersPageView | ConfigureOlapParametersPageView |
Extract
Wizard Page | Page Presenter | Page View Interface | Page View |
---|---|---|---|
Create a Data Extract | CreateExtractDataSourcePage<TModel> | ICreateExtractDataSourcePageView | CreateExtractDataSourcePageView |
Select Data Fields | ChooseExtractFieldsPage<TModel> | IChooseExtractFieldsPageView | ChooseExtractFieldsPageView |
Specify Filter Options | ConfigureExtractDataSourcePage<TModel> | IConfigureExtractDataSourcePageView | ConfigureExtractDataSourcePageView |
Specify Extract Parameters | ExtractParametersPage<TModel> | IExtractParametersPageView | ExtractParametersPageView |
Save Extract to a File | StoreExtractFilePage<TModel> | IStoreExtractFilePageView | StoreExtractFilePageView |
Example
The following code snippets show how to remove the Connection type option from the Data Source wizard page that allows end-users to specify OLAP connection parameters. To do this, use the DashboardDesigner.DataSourceWizardCustomizationService property.
Imports DevExpress.DashboardCommon
Imports DevExpress.DashboardCommon.DataSourceWizard
Imports DevExpress.DashboardWin
Imports DevExpress.DashboardWin.DataSourceWizard
Imports DevExpress.DashboardWin.Native
Imports DevExpress.DataAccess.UI.Wizard
Namespace DataSourceWizardCustomization
Partial Public Class Form1
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
Public Sub New()
InitializeComponent()
dashboardDesigner1.CreateRibbon()
dashboardDesigner1.DataSourceWizardCustomizationService = New DataSourceWizardCustomizationService()
dashboardDesigner1.ShowDataSourceWizard()
End Sub
End Class
Public Class DataSourceWizardCustomizationService
Implements IDataSourceWizardCustomizationService
Public Sub CustomizeDataSourceWizard(ByVal customization As IWizardCustomization(Of DashboardDataSourceModel)) _
Implements IDataSourceWizardCustomizationService.CustomizeDataSourceWizard
customization.RegisterPageView(Of IConfigureOlapParametersPageView, CustomConfigureOlapParametersPageView)()
End Sub
End Class
Friend Class CustomConfigureOlapParametersPageView
Inherits ConfigureOlapParametersPageView
Protected Overrides Function CreateOlapConnectionParametersControl() As OlapConnectionParametersControl
Return New CustomOlapConnectionParametersControl()
End Function
End Class
Friend Class CustomOlapConnectionParametersControl
Inherits OlapConnectionParametersControl
Public Sub New()
MyBase.New()
lciConnectionType.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
End Sub
End Class
End Namespace