製品をチェック

API Driver のダウンロード

30日間無償トライアルへ

プロファイルのダウンロード

freee プロファイル

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

freee 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、freee をチャートに入力します。

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

最終更新日:2022-01-31
freee ロゴ

CData

ado ロゴ画像
DevExpress ロゴ

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

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

まずはOAuth アプリを作成します。https://app.secure.freee.co.jp/developers/applications にアクセスして、「新しいアプリケーションの作成」ボタンをクリックします。アプリケーション名を指定し、リダイレクトURL を設定して登録をクリックします。そうすると、クライアントシークレットとクライアントID が発行されます。

次に、プロファイルをダウンロードしてドライバーがアクセス可能な場所に配置します。こちらからプロファイルをダウンロードして、「C:/profiles/」 などに設置してください。

その後、Companies ビューからCompanyId を取得します。以下の接続プロパティを設定したら、接続する準備ができます。

  • AuthScheme:OAuth に設定します。
  • OAuthClientID:アプリ設定で指定されたOAuth クライアントID に設定します。
  • OAuthClientSecret:アプリ設定で指定されたOAuth クライアントシークレットに設定します。
  • CallbackURL:アプリ設定で指定したリダイレクトURI に設定します。
  • InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用してOAuthAccessToken を取得するプロセスを管理できます。

Windows Forms コントロール

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

using (APIConnection connection = new APIConnection( "Profile=freee.apip;ProfileSettings='CompanyId=1234567;';Authscheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;")) { APIDataAdapter dataAdapter = new APIDataAdapter( "SELECT Amount, IssueDate FROM Deals", 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[] { "IssueDate" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "Amount"; 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 コントロール

下のコードではfreee でDevExpress Web を操作するための設定方法を説明します。APIDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。 using DevExpress.XtraCharts; using (APIConnection connection = new APIConnection( "Profile=freee.apip;ProfileSettings='CompanyId=1234567;';Authscheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;")) { APIDataAdapter APIDataAdapter1 = new APIDataAdapter("SELECT Amount, IssueDate FROM Deals", connection); DataTable table = new DataTable(); APIDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); DataTable table = new DataTable(); series.ValueDataMembers.AddRange(new string[] { "IssueDate" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Amount"; 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.)

関連コンテンツ

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

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