DashboardViewer.ConfigureDataConnection Event
Allows you to customize connection settings before the DashboardViewer connects to a data store (database, OLAP cube, etc.).
Namespace: DevExpress.DashboardWin
Assembly: DevExpress.Dashboard.v24.1.Win.dll
NuGet Package: DevExpress.Win.Dashboard
Declaration
Event Data
The ConfigureDataConnection event's data class is DashboardConfigureDataConnectionEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
ConnectionName | Gets the name of the connection for which the event has been raised. Inherited from ConfigureDataConnectionEventArgs. |
ConnectionParameters | Gets or sets parameters used to establish a connection to data. Inherited from ConfigureDataConnectionEventArgs. |
DataSourceName | Gets the data source name for which the event was raised. |
Remarks
The ConfigureDataConnection event occurs before connecting to a data source and allows you to customize connection settings.
This event is raised when the dashboard is supplied with data using one of the following data source types:
- DashboardSqlDataSource
- DashboardOlapDataSource
- DashboardExcelDataSource
- DashboardExtractDataSource
- DashboardJsonDataSource
- DashboardMongoDBDataSource
If the dashboard is bound to the DashboardObjectDataSource, the DashboardViewer.DataLoading event fires instead.
To specify connection parameters, cast an object the e.ConnectionParameters property returns to the DataConnectionParametersBase descendant. The following table lists the different data sources and their corresponding descendants:
Data Source | Parameter Type |
---|---|
The SqlServerConnectionParametersBase class is the base type and defines the basic connection parameters: DatabaseName, Password, ServerName and UserName. To specify other data provider parameters, cast an object to any of the types listed in the DevExpress.DataAccess.ConnectionParameters namespace. Here are some of the types:
You can also add a custom connection string. Cast an object to the CustomStringConnectionParameters class and assign a custom connection string to the ConnectionString property. Tip You can use a custom connection string to get data from an XML file that contains valid schema, for example, “xpoprovider=InMemoryDataStore;data source=””your_data_file.xml””;read only=True” | |
Cast an object to the OlapConnectionParameters type and use the ConnectionString property. | |
Cast an object to the ExcelDataSourceConnectionParameters type and use the FileName and Password properties. | |
Cast an object to the ExtractDataSourceConnectionParameters type and use the FileName and DriverName properties. | |
Event does not occur. | |
Event does not occur. Handle the DataLoading/AsyncDataLoading event instead:
| |
Cast an object to the JsonSourceConnectionParameters type and use the JsonSource property. You can also add a custom connection string. Cast an object to the CustomStringConnectionParameters class and assign a custom connection string to the ConnectionString property. | |
Cast an object to the MongoDBCustomConnectionParameters type and use the following connection parameters: |
Tip
Refer to the following topic for information about custom connection strings: Custom Connection Strings for Data Sources
Examples
How to: Handle the ConfigureDataConnection Event for Various Data Source Types
The following code snippet shows how to handle the ConfigureDataConnection event for various data source types:
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
// ...
dashboardViewer.ConfigureDataConnection += dashboardViewer_ConfigureDataConnection;
// ...
private void dashboardViewer_ConfigureDataConnection(object sender, DashboardConfigureDataConnectionEventArgs e){
if (e.DataSourceName == "sqliteDataSource"){
SQLiteConnectionParameters parameters = e.ConnectionParameters as SQLiteConnectionParameters;
if (parameters != null){
parameters.FileName = "file:Data\nwind.db";
parameters.Password = "test";
}
}
if (e.DataSourceName == "olapDataSource"){
OlapConnectionParameters parameters = e.ConnectionParameters as OlapConnectionParameters;
if (parameters != null){
parameters.ConnectionString = "Provider=MSOLAP;Data Source=http://demos.devexpress.com/Services/OLAP/msmdpump.dll;"
+ "Initial catalog=Adventure Works DW Standard Edition;Cube name=Adventure Works;Query Timeout=100;";
}
}
if (e.DataSourceName == "extractDataSource"){
ExtractDataSourceConnectionParameters parameters = e.ConnectionParameters as ExtractDataSourceConnectionParameters;{
if (parameters != null){
parameters.FileName = "file:Data\nwind.dat";
}
}
}
if (e.DataSourceName == "oracleDataSource"){
OracleConnectionParameters parameters = e.ConnectionParameters as OracleConnectionParameters;
if (parameters != null){
parameters.ProviderType = OracleProviderType.ODPManaged;
parameters.ServerName = "dashboarddb:1521/OracleTest";
parameters.UserName = "user";
parameters.Password = "test";
}
}
if (e.DataSourceName == "excelDataSource"){
ExcelDataSourceConnectionParameters parameters = e.ConnectionParameters as ExcelDataSourceConnectionParameters;
if (parameters != null){
parameters.FileName = "file:Data\nwind.xlsx";
parameters.Password = "test";
}
}
}
How to: Specify the Extract Data Source’s File Location Before the Dashboard Loads
This code snippet is the ConfigureDataConnection
event handler that allows you to specify the extract data source’s file location before the dashboard loads.
using DevExpress.DashboardCommon;
// ...
dashboardViewer.ConfigureDataConnection += dashboardViewer_ConfigureDataConnection;
// ...
private void dashboardViewer_ConfigureDataConnection(object sender, DashboardConfigureDataConnectionEventArgs e)
{
ExtractDataSourceConnectionParameters parameters = e.ConnectionParameters as ExtractDataSourceConnectionParameters;
if (parameters != null)
parameters.FileName = Path.GetFileName(parameters.FileName);
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the ConfigureDataConnection event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.