各製品の資料を入手。
詳細はこちら →スマレジ のデータをDevExpress Data Grid にデータバインドする。
スマレジ 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、スマレジ をチャートに入力します。
最終更新日:2022-01-31
この記事で実現できるスマレジ 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
スマレジ 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。
スマレジドライバーには、ContractId およびAccessToken パラメータが必要です。
- スマレジにログイン後、「設定」->「システム連携」->「スマレジAPI 設定」に移動します。
- 「API受信設定」セクションにある「受信機能を利用する」を「利用する」に変更し、「アクセストークンの生成」をクリックし、AccessToken を取得します。
- 次に必要なAPI アクセスを有効にするため、「機能設定」セクションで必要な機能を「利用する」に変更します。
ContractId: アカウントの契約ID。これは受信設定セクションでも確認できます。
AccessToken: 受信設定セクションのアクセストークン。
Windows Forms コントロール
下のコードでは、スマレジ でDevExpress のチャートに追加する方法を説明します。SmaregiDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。
using (SmaregiConnection connection = new SmaregiConnection(
"ContractId=mycontractid;AccessToken=myaccesstoken;")) {
SmaregiDataAdapter dataAdapter = new SmaregiDataAdapter(
"SELECT ProductName, Description FROM Products", 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[] { "Description" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "ProductName";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}

Web コントロール
下のコードではスマレジ でDevExpress Web を操作するための設定方法を説明します。SmaregiDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。
using DevExpress.XtraCharts;
using (SmaregiConnection connection = new SmaregiConnection(
"ContractId=mycontractid;AccessToken=myaccesstoken;"))
{
SmaregiDataAdapter SmaregiDataAdapter1 = new SmaregiDataAdapter("SELECT ProductName, Description FROM Products", connection);
DataTable table = new DataTable();
SmaregiDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
DataTable table = new DataTable();
series.ValueDataMembers.AddRange(new string[] { "Description" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "ProductName";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}