dashboard-401313-winforms-dashboard-winforms-designer-create-dashboards-in-the-winforms-designer-providing-data-xpo-data-source.md
An XPO data source gets data from eXpress Persistent Objects.
The XPO Data Source requires additional configuration to allow users to create the data source in a Data Source Wizard:
Create a data layer to access a data store.
In this example, a data layer (represented by the SimpleDataLayer class object) is created and assigned to the XpoDefault.DataLayer property using the XpoDefault.GetDataLayer method.
Create XPO classes:
Add the XPO value to the DashboardDesignerDataSourceWizardSettings.AvailableDataSourceTypes property to enable users to create the XPO data source. The XPO data source is added to the list of available data sources in the Data Source Wizard.
Tip
Documentation: Getting Started with XPO
Example on GitHub : How to Bind a Dashboard to the XPO Data Source at Design-Time
To connect to the pre-configured XPO data source, follow the steps below:
Click the New Data Source button in the Data Source ribbon tab.
On the first page of the invoked Data Source Wizard dialog, specify whether you want to use an existing data connection or create a new data connection.
On the next page, select eXpress Persistent Objects (XPO) and click Next. Then, specify the entity type.
Create a DashboardXpoDataSource object and use the ConnectionStringName property to specify the name of the connection string defined in the application’s configuration file.
Pass the persistent object type to the SetEntityType method.
The code sample below illustrates how to connect to the XPO data source.
using DevExpress.DashboardCommon;
// ...
public static DashboardXpoDataSource CreateXpoDataSource()
{
DashboardXpoDataSource dataSource = new DashboardXpoDataSource()
{
ConnectionStringName = "northwind"
};
dataSource.SetEntityType(typeof(nwind.Customers));
return dataSource;
}
Imports DevExpress.DashboardCommon
' ...
Public Shared Function CreateXpoDataSource() As DashboardXpoDataSource
Dim dataSource As New DashboardXpoDataSource() With {.ConnectionStringName = "northwind"}
dataSource.SetEntityType(GetType(nwind.Customers))
Return dataSource
End Function
See Also