Ready to get started?

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

Download Now

DataBind WooCommerce Data to the DevExpress Data Grid

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

The CData ADO.NET Provider for WooCommerce 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.

WooCommerce supports the following authentication methods: one-legged OAuth1.0 Authentication and standard OAuth2.0 Authentication.

Connecting using one-legged OAuth 1.0 Authentication

Specify the following properties (NOTE: the below credentials are generated from &service; settings page and should not be confused with the credentials generated by using WordPress OAuth2.0 plugin):

  • ConsumerKey
  • ConsumerSecret

Connecting using WordPress OAuth 2.0 Authentication

After having configured the plugin, you may connect to WooCommerce by providing the following connection properties:

  • OAuthClientId
  • OAuthClientSecret
  • CallbackURL
  • InitiateOAuth - Set this to either GETANDREFRESH or REFRESH

In either case, you will need to set the Url property to the URL of the WooCommerce instance.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with WooCommerce data. The WooCommerceDataAdapter 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 (WooCommerceConnection connection = new WooCommerceConnection( "Url=https://example.com/; ConsumerKey=ck_ec52c76185c088ecaa3145287c8acba55a6f59ad; ConsumerSecret=cs_9fde14bf57126156701a7563fc87575713c355e5; InitiateOAuth=GETANDREFRESH")) { WooCommerceDataAdapter dataAdapter = new WooCommerceDataAdapter( "SELECT ParentId, Total FROM Orders WHERE ParentId = '3'", 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[] { "Total" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "ParentId"; 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 WooCommerce data. The WooCommerceDataAdapter 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 (WooCommerceConnection connection = new WooCommerceConnection( "Url=https://example.com/; ConsumerKey=ck_ec52c76185c088ecaa3145287c8acba55a6f59ad; ConsumerSecret=cs_9fde14bf57126156701a7563fc87575713c355e5; InitiateOAuth=GETANDREFRESH")) { WooCommerceDataAdapter WooCommerceDataAdapter1 = new WooCommerceDataAdapter("SELECT ParentId, Total FROM Orders WHERE ParentId = '3'", connection); DataTable table = new DataTable(); WooCommerceDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "Total" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "ParentId"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }