DataBind SAP SuccessFactors LMS Data to the DevExpress Data Grid
The ADO.NET Provider for SAP SuccessFactors LMS by CData incorporates conventional ADO.NET data access components compatible with third-party controls. You can adhere to the standard ADO.NET data binding procedures to establish two-way access to real-time data through UI controls. This article will demonstrate the utilization of CData components for data binding with DevExpress UI Controls (Windows Forms and Web controls), specifically binding to a chart that visualizes live data.
SAP SuccessFactors LMS uses OAuth authentication. Before connecting, you must configure an OAuth application tied to your SAP SuccessFactors LMS account.
To establish a connection, set the following properties:
- User: Your SAP SuccessFactors LMS username.
- CompanyId: Your SAP SuccessFactors company identifier.
- Url: The SAP SuccessFactors API URL (e.g., https://api4.successfactors.com).
- OAuthClientId: The client Id assigned when you registered your custom OAuth application.
- OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.
See the Getting Started chapter of the help documentation for a guide to creating a custom OAuth app and using OAuth.
Windows Forms Controls
The code below shows how to populate a DevExpress chart with SAP SuccessFactors LMS data. The SAPSuccessFactorsLMSDataAdapter binds to the Series property of the chart control. The Diagram property of the control defines the x- and y-axes as the column names.
using (SAPSuccessFactorsLMSConnection connection = new SAPSuccessFactorsLMSConnection(
"User=username;CompanyId=CompanyId;Url=https://api4.successfactors.com;InitiateOAuth=GETANDREFRESH;")) {
SAPSuccessFactorsLMSDataAdapter dataAdapter = new SAPSuccessFactorsLMSDataAdapter(
"SELECT ItemID, ItemTitle FROM [Admin].[Search_Service].[Items] WHERE Active = true", connection);
DataTable table = new DataTable();
dataAdapter.Fill(table);
DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
chartControl1.Series.Add(series);
series.DataSource = table;
series.ValueDataMembers.AddRange(new string[] { "ItemTitle" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "ItemID";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
Web Controls
The code below shows how to populate a DevExpress Web control with SAP SuccessFactors LMS data. The SAPSuccessFactorsLMSDataAdapter binds to the Series property of the chart; the Diagram property defines the x- and y-axes as the column names.
using DevExpress.XtraCharts;
using (SAPSuccessFactorsLMSConnection connection = new SAPSuccessFactorsLMSConnection(
"User=username;CompanyId=CompanyId;Url=https://api4.successfactors.com;InitiateOAuth=GETANDREFRESH;"))
{
SAPSuccessFactorsLMSDataAdapter SAPSuccessFactorsLMSDataAdapter1 = new SAPSuccessFactorsLMSDataAdapter("SELECT ItemID, ItemTitle FROM [Admin].[Search_Service].[Items] WHERE Active = true", connection);
DataTable table = new DataTable();
SAPSuccessFactorsLMSDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
series.DataSource = table;
series.ValueDataMembers.AddRange(new string[] { "ItemTitle" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "ItemID";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}