OData のデータをDevExpress Data Grid にデータバインドする。

加藤龍彦
加藤龍彦
デジタルマーケティング
OData 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、OData をチャートに入力します。

OData 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

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

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

Windows Forms コントロール

下のコードでは、OData でDevExpress のチャートに追加する方法を説明します。ODataDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (ODataConnection connection = new ODataConnection(
"URL=http://services.odata.org/V4/Northwind/Northwind.svc;UseIdUrl=True;OData Version=4.0;Data Format=ATOM;")) {
  ODataDataAdapter dataAdapter = new ODataDataAdapter(
  "SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId", connection);

  DataTable table = new DataTable();
  dataAdapter.Fill(table);
  DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
  chartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Freight" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "OrderName";
  series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
  chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
The complete code example and the resulting chart.

Web コントロール

下のコードではOData でDevExpress Web を操作するための設定方法を説明します。ODataDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (ODataConnection connection = new ODataConnection(
"URL=http://services.odata.org/V4/Northwind/Northwind.svc;UseIdUrl=True;OData Version=4.0;Data Format=ATOM;"))
{
  ODataDataAdapter ODataDataAdapter1 = new ODataDataAdapter("SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId", connection);
  DataTable table = new DataTable();
  ODataDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Freight" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "OrderName";
  series.ValueScaleType = ScaleType.Numerical;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

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

OData Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

OData  Icon OData ADO.NET Provider お問い合わせ

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