各製品の資料を入手。
詳細はこちら →Cosmos DB のデータをDevExpress Data Grid にデータバインドする。
Cosmos DB 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、Cosmos DB をチャートに入力します。
最終更新日:2022-01-31
この記事で実現できるCosmos DB 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Cosmos DB 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。
CosmosDB 接続プロパティの取得・設定方法
SQL API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして「Azure Cosmos DB」を選択し、自分のアカウントを選択します。「Settings」セクションで、「Connection String」をクリックして次の値を設定します。
- AccountEndpoint:この値は、Cosmos DB アカウントの「Keys」ブレードからのCosmos DB アカウントURL に設定してください。
- AccountKey:Azure ポータルで、Cosmos DB サービスに移動してAzure Cosmos DB アカウントを選択します。リソースメニューから、 「Keys」ページに移動します。「PRIMARY KEY」値を見つけ、Token をこの値に設定します。
Windows Forms コントロール
下のコードでは、Cosmos DB でDevExpress のチャートに追加する方法を説明します。CosmosDBDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。
using (CosmosDBConnection connection = new CosmosDBConnection(
"AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;")) {
CosmosDBDataAdapter dataAdapter = new CosmosDBDataAdapter(
"SELECT City, CompanyName FROM Customers", 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[] { "CompanyName" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "City";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}

Web コントロール
下のコードではCosmos DB でDevExpress Web を操作するための設定方法を説明します。CosmosDBDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。
using DevExpress.XtraCharts;
using (CosmosDBConnection connection = new CosmosDBConnection(
"AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;"))
{
CosmosDBDataAdapter CosmosDBDataAdapter1 = new CosmosDBDataAdapter("SELECT City, CompanyName FROM Customers", connection);
DataTable table = new DataTable();
CosmosDBDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
DataTable table = new DataTable();
series.ValueDataMembers.AddRange(new string[] { "CompanyName" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "City";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}