Ready to get started?

Download a free trial of the Sage UK Data Provider to get started:

 Download Now

Learn more:

Sage 50 UK Icon Sage UK ADO.NET Provider

Complete read-write access to Sage 50 UK enables developers to search (Customers, Transactions, Invoices, Sales Receipts, etc.), update items, edit customers, and more, from any .NET application.

DataBind Sage 50 UK Data to the DevExpress Data Grid



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

The ADO.NET Provider for Sage 50 UK 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.

Note: Only Sage 50 UK 2012 and above are supported.

The User and Password properties, under the Connection section, must be set to valid Sage 50 UK user credentials. These values will be the same used to log in to the Sage 50 UK software.

Additionally, the URL property, under the Connection section, will need to be set to the address of the company dataset desired. To obtain the address, do the following:

  1. If you have not already done so, open the Sage 50 UK software.
  2. Click Tools -> Internet Options.
  3. Select the SData Settings tab.
  4. Click the Details button next to Sage 50 Accounts. A window is displayed containing a list of company names along with the address to their corresponding datasets.
  5. Set the URL property to the value in the address field next to the company desired.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with Sage 50 UK data. The Sage50UKDataAdapter 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 (Sage50UKConnection connection = new Sage50UKConnection( "URL=http://your-server:5493/sdata/accounts50/GCRM/your-address;User=Manager;")) { Sage50UKDataAdapter dataAdapter = new Sage50UKDataAdapter( "SELECT Name, FinanceBalance FROM TradingAccounts", 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[] { "FinanceBalance" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "Name"; 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 Sage 50 UK data. The Sage50UKDataAdapter 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 (Sage50UKConnection connection = new Sage50UKConnection( "URL=http://your-server:5493/sdata/accounts50/GCRM/your-address;User=Manager;")) { Sage50UKDataAdapter Sage50UKDataAdapter1 = new Sage50UKDataAdapter("SELECT Name, FinanceBalance FROM TradingAccounts", connection); DataTable table = new DataTable(); Sage50UKDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "FinanceBalance" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Name"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }