Register Default Data Sources
- 2 minutes to read
This document describes the capability to provide a Web Dashboard with a set of default data sources, which will be available for end-users.
To achieve this goal, create the required data sources at runtime. You can use the following data source types.
- DashboardSqlDataSource
- DashboardOlapDataSource
- DashboardExcelDataSource
- DashboardEFDataSource
- DashboardObjectDataSource
- DashboardExtractDataSource
- DashboardFederationDataSource
After you create the data sources, use the ASPxDashboard.SetDataSourceStorage or DashboardConfigurator.SetDataSourceStorage method (the selected method depends on the used server-side API) to register them in a data source storage.
Note that you can use a predefined implementation of the in-memory storage (DataSourceInMemoryStorage) or you can implement the IDataSourceStorage interface to provide custom data source storage.
The following code snippet shows how to create the in-memory storage of data sources for the Web Designer.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-create-a-web-dashboard-designer-application-t362490.
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "sqlConnection");
SelectQuery countriesQuery = SelectQueryFluentBuilder
.AddTable("Countries")
.SelectColumns("Country", "Latitude", "Longitude", "Year", "EnergyType", "Production", "Import")
.Build("Countries");
sqlDataSource.Queries.Add(countriesQuery);
DashboardOlapDataSource olapDataSource = new DashboardOlapDataSource("OLAP Data Source", "olapConnection");
DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage();
dataSourceStorage.RegisterDataSource("sqlDataSource1", sqlDataSource.SaveToXml());
dataSourceStorage.RegisterDataSource("olapDataSource1", olapDataSource.SaveToXml());
ASPxDashboard1.SetDataSourceStorage(dataSourceStorage);
Important
The Web Dashboard saves user credentials used by data sources to the dashboard XML definition. Use the boolean DashboardConfigurator.PassCredentials property to specify whether to pass this information to the client side (web browser). Set this property to false and provide connection parameters in one of the following ways to avoid any security issues:
- Add the required connection string to the connectionStrings section in the Web.config file and provide the required connection parameters.
- Implement the IDataSourceWizardConnectionStringsProvider interface to create a data connections provider. Pass the created provider as the ASPxDashboard.SetConnectionStringsProvider/DashboardConfigurator.SetConnectionStringsProvider method’s parameter.
- Handle the ASPxDashboard.ConfigureDataConnection/DashboardConfigurator.ConfigureDataConnection event to provide the required connection parameters at runtime.