C1Chart にデータを接続するには、はじめにデータソースを設定し、次にデータフィールドを設定します。
手順1:データソースの設定
有効なデータソースを作成したら、C1Chart の DataSource プロパティへ設定します。これは、設計時と実行時のいずれでも行うことができます。
設計時
C1Chart のプロパティウィンドウ、グラフウィザード、グラフプロパティなどを使用して、設計時に DataSource を設定することができます。
C1Chart のプロパティウィンドウを使用して DataSource を設定するには、以下を実行します:
1. [プロパティ]ドロップダウンリストから C1Chart を選択します。
2. C1Chart の DataSource プロパティの値を変更します。
DataSource プロパティは、グラフウィザードもしくはグラフのプロパティを使用することによっても設定することができます。グラフウィザードを使用して DataSource を設定するには、以下を実行します:
1. グラフウィザードのステップ3で、[接続]タブを選択します。
2. [データソース]ドロップダウンリストから値を選択します。
[グラフのプロパティ]ダイアログを使用して C1Chart の DataSource を設定するには、以下を実行します:
1. [グラフのプロパティ]ダイアログにアクセスするには、C1Chart コントロール上で右クリックし、[グラフのプロパティ]を選択します。
2. [データ]要素を展開し、[接続]を選択します。
3. [接続]タブ内の[データソース]ドロップダウンリストから値を選択します。
実行時
実行時に、グラフの DataSource プロパティをデータソースオブジェクトに直接設定できます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
C1Chart1.DataSource = DataSet11 |
C# コードの書き方
C# |
コードのコピー
|
---|---|
c1Chart1.DataSource = dataSet11; |
手順2:DataFields の設定
C1Chart の DataSource を設定したら、ChartDataSeries のそれぞれに適用するデータセット内の列を C1Chart に伝える必要があります。言い換えれば、X 値と Y 値の指定に使用するデータソースの列、および ChartType によっては各 ChartDataSeries の Y1、Y2、および Y3に使用する列を指定する必要があります。
X 値、Y 値などのセットは、各 ChartDataSeries の ChartDataArray オブジェクトによって保持されます。これらのオブジェクトはすべて、特定の ChartDataArray に適用するデータソース内のデータ列を指定する DataField プロパティを持っています。DataField プロパティは、設計時と実行時のいずれでも設定できます。
設計時にデータフィールドを設定する
設計時に、Visual Studio プロパティページを使用し、ChartGroups、Group0、ChartData、および SeriesList の順に進んで、<...>ボタンをクリックして SeriesList を開きます。これにより ChartDataSeries コレクションエディタが開きます。先頭のデータセットを選択して、X プロパティに進みます。X プロパティは ChartDataArray オブジェクトです。X プロパティを開きます。ドロップダウンを開いて、データソース内の任意の利用可能な列を選択できます。
DataField は、グラフウィザードとグラフのプロパティのいずれのダイアログからも設定できます。 グラフウィザードダイアログの場合:
グラフのプロパティダイアログの場合:
コードでデータフィールドを設定する
実行時に、各 ChartDataSeries の ChartDataArray オブジェクト上で DataField プロパティを使用できます。DataField プロパティはデータソース列の名前を示す文字列値に設定されることに注意してください。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
C1Chart1.ChartGroups(0).ChartData.SeriesList(0).X.DataField = "QuickStop.ShippedDate" C1Chart1.ChartGroups(0).ChartData.SeriesList(0).Y.DataField = "QuickStop.SaleAmount" |
C# コードの書き方
C# |
コードのコピー
|
---|---|
c1Chart1.ChartGroups[0].ChartData.SeriesList[0].X.DataField = "QuickStop.ShippedDate"; c1Chart1.ChartGroups[0].ChartData.SeriesList[0].Y.DataField = "QuickStop.SaleAmount"; |
文字列の書式に注意してください。上記のコード例では、「QuickStop」は列を含むテーブル名で、「ShippedDate」と「SaleAmount」は列の名前です。テーブル名が文字列内に現れるかどうかは、データソース自体によって決まります。上記の場合、複数のテーブルを持つ DataSet オブジェクトがデータソースとして使用されているため、テーブル名が必要となります。DataSet オブジェクト内の特定のテーブルがデータソースとして使用された場合、列名のみが使用されます。