Ready to get started?

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

Download Now

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

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; }