製品をチェック

OData Data Provider の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

OData  アイコン OData ADO.NET Provider 相談したい

使いやすいOData クライアント(コンシューマー)を使用して、OData サービスと通信する.NET アプリケーションを簡単に構築できるようになります。

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

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

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

最終更新日:2022-10-01

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

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

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

OData とのデータ連携について

CData は、リアルタイムOData サービスデータへのアクセスと連携を容易にします。CData のコネクティビティを活用することで、以下のことが可能になります。

  • OData バージョン2.0、3.0、4.0 にアクセスすることで、レガシーサービスと最新の機能や性能を活用できます。
  • $filter、$select、$expand などの高度なクエリオプションを活用することで、サードパーティツールからのデータ取得を強化します。
  • 集計とグループ化をサーバーサイドで実行することで、データ転送を最小限に抑え、パフォーマンスを向上させます。
  • Azure AD、Digest、Negotiate、NTLM、OAuth など、さまざまなスキームを使用して安全に認証することで、あらゆる接続での安全な認証を実現します。
  • SQL ストアドプロシージャを使用してOData サービスエンティティの管理(エンティティ間の関連付けのリスト、作成、削除)を行います。

CData のソリューションを活用して、OData サービスをPower BI、MicroStrategy、Tableau などの好みのツールに定期的に連携したり、OData サービスからデータベースやデータウェアハウスにデータをレプリケートしたりすることができます。

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 です。


  
    
    

OData に接続してクエリする

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

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

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

using System.Data.CData.OData;
using System.Data;

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

OData への接続

OData に接続するには、Url を有効なOData サービスルートURI に設定する必要があります。 OData サービスにルートドキュメントがない場合、テーブルとして公開したい特定のエンティティをFeedURL に指定してください。

OData への認証

OData は、以下を経由する認証をサポートします。

  • HTTP
  • Kerberos
  • SharePoint Online
  • OAuth
  • Azure AD

HTTP 認証スキーム

HTTP で認証する場合は、次の表に従ってAuthScheme を設定します。

SchemeAuthSchemeその他の設定
NoneNone認証を必要としない場合に使用。
BasicBasicUserPassword
NTLMNTLMUserPassword
Digest(サポートされている場合)DigestUserPassword

その他の認証方法の詳細は、ヘルプドキュメントの「接続の確立」セクションを参照してください。

private void Button_Click(object sender, RoutedEventArgs e)
{
  //connecting to OData
  string connString = "URL=http://services.odata.org/V4/Northwind/Northwind.svc;UseIdUrl=True;OData Version=4.0;Data Format=ATOM;";
  using (var conn = new ODataConnection(connString))
  {
    //using the query from the TextBox
    var dataAdapter = new ODataDataAdapter(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 にOData のデータを表示する準備が整いました。「Execute」をクリックすると、アプリはOData に接続し、CData ADO.NET Provider を介してSQL クエリを送信します。

Querying OData Services

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

Displying OData Services (Salesforce is shown)

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

Grouping OData Services (Salesforce is shown)

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

Grouped and filtered OData Services (Salesforce is shown)

無償トライアルと詳細

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

関連コンテンツ

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

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