各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for REST を使って、Visual Studio 上でWindows Forms およびWeb Forms とREST をデータバインドできます。この記事で、REST を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。
データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。
下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとREST との接続を作成します。ウィザード上でデータバインドをするREST エンティティを使います。
データ接続の選択ダイアログで、「変更」をクリックして、CData REST データソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:
DataModel=Relational;URI=C:/people.xml;Format=XML;
データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。
URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。
リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.
データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に [ personal.name.first ] をY軸に [ personal.name.last ] を設定します。
チャートはこれでREST にデータバインドされました。チャートを実行して最新のデータを表示させましょう。
REST へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。
下に完全なコードを示します:
RESTConnection conn = new RESTConnection("DataModel=Relational;URI=C:/people.xml;Format=XML;");
RESTCommand comm = new RESTCommand("SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender,
[people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM
[people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]", conn);
RESTDataAdapter da = new RESTDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "[ personal.name.first ]";
chart1.Series[0].YValueMembers = "[ personal.name.last ]";
// Insert code for additional chart formatting here.
chart1.DataBind();