MYOB AccountRight のデータをDevExpress Data Grid にデータバインドする。

MYOB AccountRight 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、MYOB AccountRight をチャートに入力します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-01-31

この記事で実現できるMYOB AccountRight 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

MYOB AccountRight 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

MYOB への接続

MYOB 会社ファイルに接続するには、CompanyFileId をデータを取得したい会社ファイルのID に設定します。指定しない場合は、最初に返された会社ファイルのID(アルファベット順にソート)が使用されます。

この接続プロパティは、CompanyFiles ビューを除くすべてのテーブルおよびビューにアクセスするために必要です。CompanyFiles ビューは、アカウントに紐づく会社ファイル(およびその関連ID)を表示するために使用できます。会社ファイルのID がわからない場合は、このビューを使用してください。

次のプロパティを追加設定します。

オンプレミスインスタンスInstanceOnPremise に設定。
AuthSchemeBasic に設定。
User:会社のファイルに紐づいているユーザー名。会社ファイルを作成すると、Administrator というユーザーアカウントが自動的に作成されます。デフォルトでは、Administrator ユーザーアカウントにはパスワードが割り当てられません。
InitiateOAuth:OFF。
Url:MYOB インスタンスのURL。
クラウドインスタンスInstanceCloud に設定。
AuthSchemeOAuth に設定。
InitiateOAuthGETANDREFRESH
User:会社のファイルに紐づいているユーザー名。
Password:(パスワードが設定されている場合)会社ファイルの認可されたユーザーのパスワードに設定。

OAuth で認証する場合は、さらにヘルプドキュメントを参照してください。

Windows Forms コントロール

下のコードでは、MYOB AccountRight でDevExpress のチャートに追加する方法を説明します。MYOBDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; ")) { 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); DataTable table = new DataTable(); 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; } The complete code example and the resulting chart.

Web コントロール

下のコードではMYOB AccountRight でDevExpress Web を操作するための設定方法を説明します。MYOBDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。 using DevExpress.XtraCharts; using (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; ")) { 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); DataTable table = new DataTable(); series.ValueDataMembers.AddRange(new string[] { "Name" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Id"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; } An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。