Visual Studio でチャートコントロールと Typeform をデータバインド

加藤龍彦
加藤龍彦
デジタルマーケティング
標準ADO.NET プロシージャを使ってデータバインドして、Visual Studio ツールボックスのコントロールから Typeform との双方向接続を実現。この記事ではVisual Studio のグラフィカルアプローチと、ほんの数行のコードでデータバインドをする方法を説明します。

データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for API を使って、Visual Studio 上でWindows Forms およびWeb Forms とTypeform をデータバインドできます。この記事で、Typeform を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。

チャートへのデータバインド

データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。

接続を設定してデータベースオブジェクトを選択

下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとTypeform との接続を作成します。ウィザード上でデータバインドをするTypeform エンティティを使います。

  1. Windows Forms プロジェクトでは、チャートコントロールをツールボックスからフォーム上にドラグ&ドロップします。チャートプロパティのデータセクションで DataSource を選択し、メニューからプロジェクトデータソースの追加を選択します。 Add a data source to be bound to the chart.
  2. 出てくるデータソース構成ウィザードでデータベース -> データセットを選択します。
  3. データ接続ステップで、「新しい接続」をクリックします。
  4. データ接続の選択ダイアログで、「変更」をクリックして、CData Typeform のデータソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:

    Profile=C:\profiles\TypeForm.apip;Authscheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;

    まず、Profile 接続プロパティにTypeForm プロファイルのディスク上の場所を設定します(例:C:\profiles\TypeForm.apip)。次に、ProfileSettings 接続プロパティにTypeForm の接続文字列を設定します(以下を参照)。

    TypeForm API プロファイル設定

    TypeForm への認証にはOAuth 標準を使用します。

    TypeForm に認証するには、まずTypeForm でOAuth アプリケーションを登録および設定する必要があります:https://admin.typeform.com/account#/section/tokens。アプリにはclient ID とclient secret が割り当てられ、接続文字列で設定できます。OAuth アプリケーションの設定の詳細については、https://developer.typeform.com/get-started/ をご参照ください。

    使用シナリオによって異なるリダイレクトURI が必要です:

    • CData デスクトップアプリケーション:CData デスクトップアプリケーション(Sync、API Server、ArcESB)は/src/oauthCallback.rst でOAuth トークンを受け入れます。ホストとポートはアプリケーションが使用するデフォルトポートと同じです。例えば、http://localhost:8019/ でCData Sync にアクセスする場合、リダイレクトURI はhttp://localhost:8019/src/oauthCallback.rst になります。
    • CData クラウドアプリケーション:CData クラウドアプリケーションはデスクトップ版と同様です。https://1.2.3.4/ でConnect AI にアクセスする場合、リダイレクトはhttps://1.2.3.4/src/oauthCallback.rst を使用します。
    • デスクトップアプリケーション:デスクトップアプリケーションを使用する場合、URI はhttps://localhost:33333 を推奨します。
    • Web アプリケーション:ドライバーを使用してWeb アプリケーションを開発する場合、https://my-website.com/oauth のような独自のURI を使用します。

    以下の接続プロパティを設定すると、接続の準備が整います:

    • AuthScheme:OAuth に設定します。
    • InitiateOAuthGETANDREFRESH に設定します。InitiateOAuth を使用してOAuthAccessToken を取得するプロセスを管理できます。
    • OAuthClientId:アプリ設定で指定されているClient Id を設定します。
    • OAuthClientSecret:アプリ設定で指定されているClient Secret を設定します。
    • CallbackURL:アプリ設定で指定したRedirect URI を設定します。
  5. Connection properties for the selected data source in the Add Connection dialog. (Salesforce is shown.)
  6. 使用するデータソースオブジェクトを選択します。例は Tags テーブルです。 Select database objects. (Salesforce is shown.)

DataBind

データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に Id をY軸に Title を設定します。

  1. チャートプロパティで、Series プロパティをクリックし、Series コレクション エディター を開きます。
  2. Series プロパティでX軸、Y軸に設定するカラムを選択します:XValueMember および YValueMember プロパティにメニューからカラムを選びます。
The axes of the chart defined in the Series Collection Editor.

チャートはこれでTypeform にデータバインドされました。チャートを実行して最新のデータを表示させましょう。 The chart, filled with data at run time.

コード Walk-through

Typeform へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。

  1. Typeform に接続します。
  2. APIDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
  3. 結果セットとチャートをデータバインドします。

下に完全なコードを示します:

APIConnection conn = new APIConnection("Profile=C:\profiles\TypeForm.apip;Authscheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;");
APICommand comm = new APICommand("SELECT Id, Title FROM Tags WHERE SettingsIsPublic = 'true'", conn);
APIDataAdapter da = new APIDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);

chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "Id";
chart1.Series[0].YValueMembers = "Title";
// Insert code for additional chart formatting here.
chart1.DataBind();

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

API Driver で Typeform のライブデータに接続

Typeform に接続 お問い合わせ