Salesforce データをチャートにデータバインドする方法
データバインドを使用すると、UI コントロールからデータへの双方向アクセスが可能になります。CData ADO.NET Provider for Salesforce を使用して、Salesforce データを Visual Studio の Windows Forms や Web コントロールに簡単にデータバインドできます。この記事では、ウィザードを使用して変更をリアルタイムに反映するチャートに Salesforce データをデータバインドする方法を紹介します。コードの解説セクションでは、同じチャートをわずか10行のコードで作成する方法も紹介します。
チャートへのデータバインド
データバインドは、コントロールのインスタンス化、データソースの設定、そしてデータバインドの3つのステップで構成されます。以下のセクションでは、データソース構成ウィザードを使用してこれらの3つのステップを実行します。コードの解説セクションでは、同じチャートをコードから作成します。
接続の設定とデータベースオブジェクトの選択
以下の手順に従って、データソース構成ウィザードを使用してチャートコントロールを作成し、Salesforce への接続を作成します。ウィザードでは、データバインドする Salesforce エンティティを選択できます。
- Windows Forms プロジェクトで、ツールボックスからフォームに Chart コントロールをドラッグ&ドロップします。Chart のプロパティで、DataSource を選択し、メニューから「プロジェクトデータソースの追加」を選択します。

- 表示されるデータソース構成ウィザードで、「データベース」->「データセット」を選択します。
- 「データ接続の選択」ステップで、「新しい接続」をクリックします。
「接続の追加」ダイアログで、「変更」をクリックして CData Salesforce Data Source を選択し、接続プロパティを入力します。一般的な接続文字列は次のとおりです。
User=user;Password=password;AccessToken=x12345;

- 使用するデータベースオブジェクトを選択します。この例では Account テーブルを使用します。

データバインド
データソースを追加してデータベースオブジェクトを選択したら、オブジェクトをチャートにバインドできます。この例では、x 軸に FirstName を、y 軸に AnnualRevenue を割り当てます。
- Chart のプロパティで、Series プロパティのボタンをクリックして Series Collection Editor を開きます。
- Series のプロパティで、x 軸と y 軸に使用するカラムを選択します。XValueMember プロパティと YValueMember プロパティのメニューからカラムを選択します。

これで、チャートが Salesforce データにデータバインドされました。チャートを実行して、現在のデータを表示してみましょう。

コードの解説
Salesforce データへのデータバインドは、数行のコードだけで、3つの簡単なステップで完了します。
- 接続を初期化します。
- SalesforceDataAdapter を作成してクエリを実行し、その結果を格納する DataSet を作成します。
- 結果セットをチャートにデータバインドします。
以下は、上記と同じチャートを生成する完全なコードです。
SalesforceConnection conn = new SalesforceConnection("User=user;Password=password;AccessToken=x12345;");
SalesforceCommand comm = new SalesforceCommand("SELECT Contact.FirstName, SUM(Account.AnnualRevenue) FROM Contact, Account GROUP BY Contact.FirstName", conn);
SalesforceDataAdapter da = new SalesforceDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "FirstName";
chart1.Series[0].YValueMembers = "AnnualRevenue";
// 追加のチャート書式設定コードをここに挿入します。
chart1.DataBind();
チャートのサンプルプロジェクト
CData Provider for Salesforce を使用したチャート作成を始める際には、すぐに使えるサンプルプロジェクトをダウンロードしてご利用ください。