Infragistics XamDataGrid を使用してSurveyMonkey のダイナミックグリッドを作成

CData ADO.NET Provider とInfragistics XamDataGrid を使用してダイナミックグリッドを構築。

杉本和也
リードエンジニア

最終更新日:2022-10-01

こんにちは!リードエンジニアの杉本です。

Infragistics WPF UI コントロールを使用すると、デスクトップおよびタッチデバイス用の、最新のMicrosoft Office に着想を得たアプリを構築できます。CData ADO.NET Provider for SurveyMonkey と組み合わせると、ライブのSurveyMonkey にアクセスして動的なグリッド、グラフその他のビジュアライゼーションを構築できます。この記事では、Infragistics XamDataGrid コントロールを使用してVisual Studio でダイナミックグリッドを作成する方法について説明します。

続行するには、Infragistics WPF UI コンポーネントをインストールしてください。こちらから無償トライアルをダウンロードできます。:https://www.infragistics.com/products/wpf

WPF プロジェクトを作成する

VisualStudio を開き、新しいWPF プロジェクトを作成します。

SQL クエリをCData ADO.NET Provider に渡すためのTextBox と、クエリを実行するためのButton を追加します。

Adding a TextBox and Button to the App.

以下は、この時点でのXAML です。


  
    
    

XamDataGrid の追加と構築

初期コントロールを追加した後、アプリにXamDataGrid を追加します。コンポーネントがVisual Studio に表示されます。

Adding the XamDataGrid to the App.

コンポーネントをデザイナーで配置して、TextBoxButton の下に配置し、アプリの境界に接するようにします。

XamDataGrid Placement.

XamDataGrid を配置したら、XAML を編集してXamDataGrid のDataSource 属性を「{Binding}」に設定し、FieldSettings のAllowRecordFilteringAllowSummaries を「true」に設定します。次に、Button コンポーネントのClick イベントハンドラーとして空のメソッドを追加します。以下は、この時点でのXAML です。


  
    
    

SurveyMonkey に接続してクエリする

ダイナミックDataGrid を使用してWPG App を構築するための最後のステップとして、リアルタイムSurveyMonkey のデータに接続し、クエリを実行します。まず、CData ADO.NET Provider への参照をプロジェクトに追加します。(通常、C:\Program Files\CData\CData ADO.NET Provider for SurveyMonkey\lib にあります。)

Adding the CData ADO.NET Provider as a Reference (Salesforce is shown.)

次に、プロバイダーを標準のData ライブラリとともに名前空間に追加します。

using System.Data.CData.SurveyMonkey;
using System.Data;

最後に、SurveyMonkey に接続するコードを追加し、TextBox からのテキストを使用してClick イベントハンドラーにクエリします。

SurveyMonkey はOAuth 2 認証標準を利用しています。SurveyMonkey がアンケートの回答を読むためにこれを必要とすることを考えると、アンケートを読むアカウントには有料プランのサブスクリプションが必要です。

SurveyMonkey への接続に使用できる認証方法は2つあります。

  • プライベートoauth アプリケーションを登録するときに、パーソナルアクセストークンを使用します。
  • パブリックoauth アプリケーションを登録するときに、OAuth を使用します。

パーソナルアクセストークンの使用

個人用トークンを使用して、自分のデータをテストし、アクセスします。個人用トークンを取得するには、ヘルプの「Creating a Custom OAuth App」の手順に従って、次の接続プロパティを設定します。

  • OAuthAccessToken:アプリケーション設定で生成されたAccessToken に設定。
  • InitiateOAuth:OFF に設定。

OAuth の使用

CData 製品はすでにSurveyMonkey にOAuth アプリケーションとして登録されています。そのため、デフォルトでは、自動的に埋め込みクレデンシャルを使用して接続します。

独自のカスタムOAuth アプリを使用したい場合は、ヘルプのCustom Credentials を参照してください。

private void Button_Click(object sender, RoutedEventArgs e)
{
  //connecting to SurveyMonkey
  string connString = "OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber;";
  using (var conn = new SurveyMonkeyConnection(connString))
  {
    //using the query from the TextBox
    var dataAdapter = new SurveyMonkeyDataAdapter(textBox.Text, conn);
    var table = new DataTable();
    dataAdapter.Fill(table);

    //passing the DataRowCollection to the DataContext
    //  for use in the XamDataGrid
    this.DataContext = table.Rows;
  }
}

アプリケーションを実行する

アプリが構築が完了したら、XamDataGrid にSurveyMonkey のデータを表示する準備が整いました。「Execute」をクリックすると、アプリはSurveyMonkey に接続し、CData ADO.NET Provider を介してSQL クエリを送信します。

Querying SurveyMonkey データ

リアルタイムSurveyMonkey のデータがグリッドに表示されます。

Displying SurveyMonkey データ(Salesforce is shown)

カラム名をヘッダーにドラッグ & ドロップし、データをグループ化します。

Grouping SurveyMonkey データ(Salesforce is shown)

グループ化とフィルタを追加すると、もとになるSQL クエリがSurveyMonkey に直接送信されるため、リアルタイムSurveyMonkey のデータをドリルダウンして特定の必要な情報のみを見つけることができます。

Grouped and filtered SurveyMonkey データ(Salesforce is shown)

無償トライアルと詳細

この時点で、リアルタイムSurveyMonkey のデータへのアクセスを持つダイナミックWPF アプリが作成されています。詳細については、CData ADO.NET プロバイダページをご覧ください。30日の無償評価版をダウンロードすれば、Infragistics UI コントロールを使用して構築したアプリでリアルタイムSurveyMonkey のデータを今すぐ試すことができます。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。