PayPal のデータをDevExpress Data Grid にデータバインドする。
PayPal 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。
それでは、PayPal への接続について説明していきましょう。CData製品では、2つのPayPal API のテーブルに対応しています。これらのAPI は、それぞれ異なる認証方法を使用します。
- REST API はOAuth 標準を使用します。REST API で認証するには、AuthScheme をOAuth に設定し、OAuthClientId およびOAuthClientSecret プロパティを設定してください
- 非推奨:SOAP API は廃止予定です。より優れたリソースアクセスのため、REST API のご利用をお勧めします
必要なAPI 資格情報の取得方法については、ヘルプドキュメントの「はじめに」をご確認ください。
使用するAPI を選択するには、Schema プロパティをREST またはSOAP に設定します。
テスト目的では、UseSandbox をtrue に設定してSandbox 資格情報をご利用いただけます。
Windows Forms コントロール
下のコードでは、PayPal でDevExpress のチャートに追加する方法を説明します。PayPalDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。
using (PayPalConnection connection = new PayPalConnection(
"Schema=SOAP;Username=sandbox-facilitator_api1.test.com;Password=xyz123;Signature=zx2127;")) {
PayPalDataAdapter dataAdapter = new PayPalDataAdapter(
"SELECT Date, GrossAmount FROM Transactions", 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[] { "GrossAmount" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "Date";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
Web コントロール
下のコードではPayPal でDevExpress Web を操作するための設定方法を説明します。PayPalDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。
using DevExpress.XtraCharts;
using (PayPalConnection connection = new PayPalConnection(
"Schema=SOAP;Username=sandbox-facilitator_api1.test.com;Password=xyz123;Signature=zx2127;"))
{
PayPalDataAdapter PayPalDataAdapter1 = new PayPalDataAdapter("SELECT Date, GrossAmount FROM Transactions", connection);
DataTable table = new DataTable();
PayPalDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
DataTable table = new DataTable();
series.ValueDataMembers.AddRange(new string[] { "GrossAmount" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "Date";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}