Ready to get started?

Learn more about the CData ADO.NET Provider for SAP ByDesign or download a free trial:

Download Now

DataBind SAP ByDesign Data to the DevExpress Data Grid

Use the CData ADO.NET Provider for SAP ByDesign with the DevExpress Windows Forms and Web controls to provide SAP ByDesign data to a chart.

The CData ADO.NET Provider for SAP ByDesign implements standard ADO.NET data access components that can be used with third-party controls. The standard ADO.NET process for databinding can be followed to enable bidirectional access to live data from UI controls. In this article we show how to use the CData components to databind to the DevExpress Windows Forms and Web controls; you will databind to a chart that displays current data.

Set the following connection properties to connect to SAP ByDesign.

  • Url: Set this to the Url of your SAP ByDesign site. For example, https://test.sapbydesign.com
  • User: Set this to the username of your account.
  • Password: Set this to the password of your account.
  • CustomService or AnalyticsService: Only one of these must be specified. If you have a custom service you want to retrieve data from, specify CustomService. If you want to retrieve the reports of a analytical service, specify AnalyticsService.
    If neither is specified, 'cc_home_analytics.svc' will used as a default for the AnalyticsService property. If you are not sure what service to specify, you can always query the Services view to list available services.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with SAP ByDesign data. The SAPByDesignDataAdapter 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 (SAPByDesignConnection connection = new SAPByDesignConnection( "URL=https://my999999.sapbydesign.com;User=username;Password=password;CustomService=servicename;")) { SAPByDesignDataAdapter dataAdapter = new SAPByDesignDataAdapter( "SELECT ID, ProductCategoryID FROM [Inventory Balance] WHERE ProductCategoryID = '1234567'", 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[] { "ProductCategoryID" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "ID"; 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 ByDesign data. The SAPByDesignDataAdapter 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 (SAPByDesignConnection connection = new SAPByDesignConnection( "URL=https://my999999.sapbydesign.com;User=username;Password=password;CustomService=servicename;")) { SAPByDesignDataAdapter SAPByDesignDataAdapter1 = new SAPByDesignDataAdapter("SELECT ID, ProductCategoryID FROM [Inventory Balance] WHERE ProductCategoryID = '1234567'", connection); DataTable table = new DataTable(); SAPByDesignDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "ProductCategoryID" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "ID"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }