製品をチェック

e-Sales Manager Remix Data Provider の30日間無償トライアルをダウンロード

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

製品の詳細

e-Sales Manager Remix アイコン e-Sales Manager Remix ADO.NET Provider 相談したい

Customer、Product、Business などのe-Sales Manager データを組み込んだ強力な.NET アプリケーションを迅速に作成して配布できます。

Infragistics WPF XamDataGrid と e-Sales Manager をデータバインド

Infragistics WPF XamDataGrid と e-Sales Manager をデータバインドする方法

加藤龍彦
ウェブデベロッパー

最終更新日:2022-04-13

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

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

完成イメージ

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

XamDataGrid

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

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

XamDataGrid

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

XamDataGrid

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

2. XamDataGrid の配置・設定

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

XamDataGrid

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

XamDataGrid

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

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

3. CData e-Sales Manager ADO.NET Provider への接続を構成

最後に CData e-Sales Manager ADO.NET Provider への接続部分を作成します。

まずは参照設定からCData e-Sales Manager ADO.NET Provider のライブラリである「System.Data.CData.ESalesManager.dll」を追加します。

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

using System.Data.CData.ESalesManager;

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

using System.Data; using System.Data.CData.ESalesManager; 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 = "User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;"; using (var connection = new D365SalesConnection(connectionString)) { var dataAdapter = new ESalesManagerDataAdapter( sqlTextBox.Text, connection); var table = new DataTable(); dataAdapter.Fill(table); this.DataContext = table.Rows; } } } }

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

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

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

関連コンテンツ

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

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