Ready to get started?

Learn more about the CData ADO.NET Provider for Open Exchange Rates or download a free trial:

Download Now

Infragistics WPF XamDataGrid と Open Exchange Rates Data をデータバインド

Infragistics WPF XamDataGrid と Open Exchange Rates Data をデータバインドする方法

この記事では CData ADO.NET Provider for Open Exchange Rates を使って、Infragistics WPF XamDataGrid に Open Exchange Rates Data をデータバインドする方法を説明します。

完成イメージ

以下のように Infragistics WPF XamDataGrid でOpen Exchange Rates dataから取得したデータを表示するアプリケーションを作成します。

1. WPFプロジェクトの作成

まず、VisualStudioを立ち上げて、WPFアプリのプロジェクトを作成します。

今回はデータを柔軟に取り出せるように、CData ADO.NET ProviderにSQLを渡すためのTextBoxと実行用のボタンを配置しました。

この段階でのXAMLは以下のようになっています。

2. XamDataGrid の配置・設定

次に「XamDataGrid」を配置します。 Infragistics WPF UIコンポーネントをインストールしている場合、ツールボックスに以下のように表示されます。

これをデザイナー画面で以下のように配置しました。

併せて、任意の名称(xamDataGridとしました)、DataSourceは{Binding}を指定し、フィルター機能を使えるように「Custom:FieldSettings」に「AllowRecordFiltering="true"」「AllowSummaries="True" 」を追加しました。

また、サンプルプログラムではデザインテーマの「Theme="Metro"」も設定しています。このあたりはお好みでどうぞ。

3. CData Open Exchange Rates ADO.NET Provider への接続を構成

最後に CData Open Exchange Rates ADO.NET Provider への接続部分を作成します。

まずは参照設定からCData Open Exchange Rates ADO.NET Provider のライブラリである「System.Data.CData.OpenExchangeRates.dll」を追加します。

その後、名前空間に「System.Data.CData.OpenExchangeRates」を追加し

using System.Data.CData.OpenExchangeRates;

ボタンをクリックした時にTextBoxからSQL文を取得し、Open Exchange Rates からデータを取得する処理を記述します。この記述方法は以下のヘルプに記載されているものがほぼそのままです。

using System.Data; using System.Data.CData.OpenExchangeRates; using System.Windows; namespace CData.XamDataGrid.GropingListApp { /// /// MainWindow.xaml の相互作用ロジック /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); sqlTextBox.Text = "SELECT * FROM Samples"; } private void ExecuteButton_Click(object sender, RoutedEventArgs e) { string connectionString = "AppId=abc1234;"; using (var connection = new D365SalesConnection(connectionString)) { var dataAdapter = new OpenExchangeRatesDataAdapter( sqlTextBox.Text, connection); var table = new DataTable(); dataAdapter.Fill(table); this.DataContext = table.Rows; } } } }

通常のWebAPIをそのまま実装した場合、自身でWebAPIリクエストの処理から認証部分、「XamDataGrid」渡すデータ構造の構成まで定義しなければいけませんが、これらコンポーネントの活用により省力化してアプリケーションを開発できます。

このように OpenExchangeRates 内のデータを API を書くことなく XamDataGrid 上で処理することができるようになります。

サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。

 
 
ダウンロード