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

加藤龍彦
加藤龍彦
デジタルマーケティング
CData ADO.NET Provider for Dynamics 365 をDevExpress のWindows Forms およびWeb コントロールと組み合わせて使い、チャートに Dynamics 365 のデータ を取り込みます。



CData ADO.NET Provider for Dynamics 365 は、サードパーティ製コントロールと組み合わせて使える標準的なADO.NET データアクセスコンポーネントを備えています。通常のADO.NET データバインドの手順に沿って進めるだけで、UI コントロールからリアルタイムデータへの双方向アクセスを実現できます。この記事では、CData のコンポーネントを使って DevExpress UI コントロール(Windows Forms およびWeb コントロール) にデータバインドする方法を紹介します。今回は、リアルタイムのデータを可視化するチャートにデータバインドしていきます。

Dynamics 365 接続プロパティの取得・設定方法

Microsoft Dynamics 365 への接続

Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。

  • CustomerService
  • FieldService
  • FinOpsOnline (デフォルト)
  • FinOpsOnPremise
  • HumanResources
  • Marketing
  • ProjectOperations
  • Sales

Notes:

  • Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、EditionFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
  • Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
サポートされているMicrosoft Dynamics 365 エディションのいずれか接続するには、次のパラメータを設定します。
  • OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com
  • Edition:上記のエディション一覧に示すとおり。

Microsoft Dynamics 365 への認証

Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。

Windows Forms コントロール

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

using (Dynamics365Connection connection = new Dynamics365Connection(
"OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;")) {
  Dynamics365DataAdapter dataAdapter = new Dynamics365DataAdapter(
  "SELECT GoalHeadingId, Name FROM GoalHeadings WHERE Name = 'MyAccount'", 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 = "GoalHeadingId";
  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 コントロール

下のコードではDynamics 365 でDevExpress Web を操作するための設定方法を説明します。Dynamics365DataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (Dynamics365Connection connection = new Dynamics365Connection(
"OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;"))
{
  Dynamics365DataAdapter Dynamics365DataAdapter1 = new Dynamics365DataAdapter("SELECT GoalHeadingId, Name FROM GoalHeadings WHERE Name = 'MyAccount'", connection);
  DataTable table = new DataTable();
  Dynamics365DataAdapter1.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 = "GoalHeadingId";
  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.)

はじめる準備はできましたか?

Dynamics 365 Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Dynamics 365 Icon Dynamics 365 ADO.NET Provider

Dynamics 365 データを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。