Ready to get started?

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

Download Now

DataBind MYOB AccountRight Data to the DevExpress Data Grid

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

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

These properties are required when connecting to a company file (both for Cloud and On-Premise instances).

  • CompanyFileId: You can find this by starting MYOB, opening your data file, and selecting Help -> About MYOB
  • User: The username associated with your company file.
  • Password: The password associated with your company file.

Connecting to a Cloud Instance

To connect to a cloud instance of MYOB, you can use the embedded OAuth credentials or create an OAuth app with MYOB. This process is detailed in the Help documentation.

Connecting to an On-Premise instance:

When connecting to an on-premise instance, you will need to set the following connection property in addition to those above:

  • InitiateOauth: Set this to OFF.
  • Url: The Url of your MYOB instance.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with MYOB AccountRight data. The MYOBDataAdapter 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 (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; InitiateOAuth=GETANDREFRESH")) { MYOBDataAdapter dataAdapter = new MYOBDataAdapter( "SELECT Id, Name FROM Accounts WHERE Type = 'Bank'", 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[] { "Name" }); 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 MYOB AccountRight data. The MYOBDataAdapter 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 (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; InitiateOAuth=GETANDREFRESH")) { MYOBDataAdapter MYOBDataAdapter1 = new MYOBDataAdapter("SELECT Id, Name FROM Accounts WHERE Type = 'Bank'", connection); DataTable table = new DataTable(); MYOBDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "Name" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Id"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }