ActiveReports for .NET 18.0J
データ点
ActiveReportsユーザーガイド > 概念 > セクションレポートの概念 > グラフ > データ点

データ点(DataPoint)は、Chartコントロールで表示するグラフの値そのものを表すクラスです。系列のPointsプロパティ(Series.Points)が、データ点のコレクションです。下の画像では、1つの系列に3つのデータ点が存在しています。

データ点は、デザイン時に[DataPointコレクションエディター]から追加・削除することができます。同エディターは[Seriesコレクションエディター]から呼び出します。詳細については、「固定グラフ」を参照してください。

注意: データソースが設定されているChartコントロールに対しては、[DataPointコレクションエディター]を使用してデータ点の追加や削除を行わないでください。

X値とY値

データ点は、1個のX値と、1個以上のY値を含んでいます。X値はXValueプロパティ、Y値はYValuesプロパティに保持されています。

X値の型はObject型です。多くのグラフでは、X軸に表示される項目名をX値に指定します。この場合、X値として適当なデータの型は、文字列型か文字列に変換可能な型です。これに対し、バブルXYチャートなどのXYグラフの場合は、X値は数値であることが要求されます。

Y値は数値型(Double型)の配列です。多くのグラフでは配列の要素数は1ですが、バブルチャートやローソク足チャートなどでは2個以上の要素数を含みます。

データ点のプロパティ

データ点は、X値、Y値の他にもいくつかのプロパティを含みます。

注意: 以下の例のように、コードからデータ点を操作する処理は、対象のChartコントロールが複数回表示される場合には処理が無効になる場合があります。たとえばDetailセクションにChartコントロールを配置し、複数回表示される場合がそれに該当します。恐れ入りますが、コードによる処理は、レポート中に1回だけ表示されるグラフにのみ適用してください。

データ点のIsEmptyプロパティは、データが有効かどうかを表します。データソースの中のデータがNullデータであった場合などは、この値が「True」になります。また、コードで「True」に設定することで、特定のデータ点を無効にすることができます。以下は3番目のデータ点を無効にしています。

Visual Basic

Visual Basicコード
コードのコピー
Me.ChartControl1.Series(0).Points(2).IsEmpty = True

C#

C#コード
コードのコピー
this.chartControl1.Series[0].Points[2].IsEmpty = true;

データ点のBackDropプロパティを設定することによって、特定のデータの背景色を変更することが可能です。

Visual Basic

Visual Basicコード
コードのコピー
Dim bd As New GrapeCity.ActiveReports.Chart.BackdropItem
bd.Color = Color.Blue
Me.ChartControl1.Series(0).Points(2).Backdrop = bd

C#

C#コード
コードのコピー
GrapeCity.ActiveReports.Chart.BackdropItem bd = 
new GrapeCity.ActiveReports.Chart.BackdropItem();
bd.Color = Color.Blue;
this.chartControl1.Series[0].Points[2].Backdrop = bd;

系列に設定したプロパティ(たとえば、背景色)は、すべてのデータ点に対して適用されますが、個別のデータ点にプロパティが設定されている場合は、データ点のプロパティが優先されます。

また、データ点はカスタムプロパティも保持します。データ点に適用可能なカスタムプロパティは、グラフの種類ごとに異なっています。詳細については、「 グラフのカスタムプロパティ」を参照してください。特定のデータ点にカスタムプロパティを設定した場合は、系列の設定よりもデータ点の設定が優先されます。

データ点のカスタムプロパティをコードから設定するには、Series.Pointsプロパティからデータ点を番号で参照し、設定したいカスタムプロパティの名称をキーとして、値を設定します。

以下のコードは、円グラフの2番目のデータ点に、「ExplodeFactor」を設定します。

Visual Basic

Visual Basicコード
コードのコピー
Me.ChartControl1.Series(0).Points(1).Properties("ExplodeFactor") = 0.5F

C#

C#コード
コードのコピー
this.chartControl1.Series[0].Points[1].Properties["ExplodeFactor"] = 0.5f;