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

加藤龍彦
加藤龍彦
デジタルマーケティング
Dynamics CRM 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、Dynamics CRM をチャートに入力します。

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

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

Dynamics CRM では、インスタンスごとに接続文字列の設定が必要です。 Authentication セクションでは、有効なDynamics CRM のUser、Password の入力、およびDynamics CRM Server Organization root のURL を設定します。さらに、CRMVersion プロパティに、'CRM2011+' もしくは'CRMOnline' を設定します。IFD コンフィグレーションもサポートされていますので、InternetFacingDeployment をTRUE に設定してください。

また、Security Token Service(STS)、もしくはAD FS エンドポイントをSTSURL プロパティに設定することもできます。 この値はGetSTSUrl ストアドプロシージャで取得できます。 Office 365 ユーザーはデフォルトSTS URL にCRMVersion の設定だけで接続することができます。

Windows Forms コントロール

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

using (DynamicsCRMConnection connection = new DynamicsCRMConnection(
"User=myuseraccount;Password=mypassword;URL=https://myOrg.crm.dynamics.com/;CRM Version=CRM Online;")) {
  DynamicsCRMDataAdapter dataAdapter = new DynamicsCRMDataAdapter(
  "SELECT Contact.FirstName, SUM(Account.NumberOfEmployees) FROM Contact, Account GROUP BY Contact.FirstName", 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[] { "NumberOfEmployees" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "FirstName";
  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 CRM でDevExpress Web を操作するための設定方法を説明します。DynamicsCRMDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (DynamicsCRMConnection connection = new DynamicsCRMConnection(
"User=myuseraccount;Password=mypassword;URL=https://myOrg.crm.dynamics.com/;CRM Version=CRM Online;"))
{
  DynamicsCRMDataAdapter DynamicsCRMDataAdapter1 = new DynamicsCRMDataAdapter("SELECT Contact.FirstName, SUM(Account.NumberOfEmployees) FROM Contact, Account GROUP BY Contact.FirstName", connection);
  DataTable table = new DataTable();
  DynamicsCRMDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "NumberOfEmployees" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "FirstName";
  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 CRM Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Dynamics CRM Icon Dynamics CRM ADO.NET Provider お問い合わせ

潜在顧客、連絡先、営業案件、アカウントなどのMicrosoft Dynamics CRM アカウントデータを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。