ActiveReports for .NET 18.0J
アンバウンドグラフ
ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > セクションレポートのチュートリアル > グラフ > アンバウンドグラフ

Chartコントロールでは、グラフを配列などの任意のタイプのデータソースにバインドできます。データソースを設定せずにグラフを作成して、実行時にデータをコントロールにロードできます。このチュートリアルでは、単純なアンバウンドグラフの作成方法を紹介します。

このトピックでは、以下のタスクを行います。

メモ:このチュートリアル、Northwindデータベース(NWind.mdb)のファイルを使用しています。Northwindデータベース(..ActiveReportsNET18\Samples\Data\NWind.mdb)へのアクセス権限が必要です。

チュートリアルを完了すると、次のレポートが作成されます。

VisualStudioプロジェクトにActiveReportを追加する

  1. Visual Studioで新規プロジェクトを開きます。
  2. [プロジェクト]メニューから [新しい項目の追加]を選択します。
  3. [新しい項目を追加]ダイアログから [ActiveReports 18.0 セクションレポート(コード)]を選択し、名前を「UnboundChart」に変更します。
  4. [追加]ボタンをクリックします。

詳細は、「クイックスタート」を参照してください。

レポートにChartコントロールを追加する

  1. ツールボックスから、レポートのデザイナ面上に [Chat]コントロールをドラッグします。
  2. グラフウィザードが表示されたら、[キャンセル]をクリックします。
    ヒント: グラフを追加する際にグラフウィザードを表示したくない場合は、[ウィザードの自動起動]チェックボックスをオフにします。ウィザードは[プロパティ]ウインドウの下部にあるコマンドのセクションからアクセスできます。
  3. 「[プロパティ]ウィンドウ」から、以下のプロパティを設定します。
    プロパティ名 プロパティの値
    Location 0, 0in
    Size 6.5, 3.5in
  4. レポートエクスプローラ」で、 [Detail1]を選択し、[プロパティ]ウィンドウからHeightプロパティを「3.5」に設定します。
  5. 「デザイナ面」で、グレーの領域をクリックし、[プロパティ]ウィンドウからPrintWidthプロパティを「6.5」に設定します。

Chartのプロパティを設定する

  1. Chartコントロールを選択し、[プロパティ]ウィンドウから、[ChartAreas(Collection)] をクリックし、(...)をクリックします。
  2. [ChartArea コレクションエディター]で、defaultAreaプロパティの下の[Axes]の横にある(...)ボタンをクリックし、[AxisBase コレクションエディター]を開きます。
  3. [AxisX]を選択し、[AxisXプロパティ]の下のTitleテキストボックスに「店名」を入力し、Fontを「12」に設定します。
  4. [AxisY]を選択し、[AxisYプロパティ]の下のTitleテキストボックスに「売り上げ金額」を入力し、Fontを「12」に設定します。
  5. [プロパティ]ウィンドウの[Titles]をクリックし、(...)をクリックします。 Title コレクションエディターでは[header]がデフォルトで選択されています。
  6. [headerプロパティ]の下のTextプロパティに[アンバウンドグラフ]を入力しFontを「14」に設定します。
  7. [header]の下にある[footer]を選択し、リストの下にある[削除]ボタンでfooterを削除します。
  8. [プロパティ]ウィンドウから、[Series(Collection)] をクリックし、(...)をクリックします。 [Series コレクションエディター]のメンバの下の[Series1][Series2][Series3]を選択し、リストの下にある[削除]ボタンで系列を削除します。
  9. [プロパティ]ウィンドウから、[Legends(Collection)] をクリックし、(...)をクリックします。[Legend コレクションエディター]ではdefaultLegendがデフォルトで選択されています。
  10. defaultLegendプロパティの下のVisibleプロパティを「False」に設定し、凡例を非表示します。
  11. [OK]をクリックします。

レポートのデザイナ面では、グラフのタイトル以外は空白で表示されます。

コードを追加して、実行時にグラフを作成する

レポートの下のグレーの領域をダブルクリックし、rptUnboundChartのReportStartイベントのイベント処理メソッドを作成します。ハンドラに次のコードを追加します。

サンプルコードを示します。

Visual Basic

Visual Basicコード(ReportStartイベント内に貼り付けます)
コードのコピー
'系列を作成する
Dim series As New GrapeCity.ActiveReports.Chart.Series
series.Type = Chart.ChartType.Bar3D
        
'接続文字列とデータアダプター
Dim dbPath As String = "C:\Program Files\ActiveReportsNET18\Samples\Data\Nwind.mdb"
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbPath
Dim da As New System.Data.OleDb.OleDbDataAdapter("SELECT * from Orders WHERE OrderDate < #08/17/1994#", connString)

'データセットを作成する
Dim ds As New DataSet
da.Fill(ds, "Orders")

'グラフプロパティを設定する
Me.ChartControl1.DataSource = ds
Me.ChartControl1.Series.Add(series)
Me.ChartControl1.Series(0).ValueMembersY = ds.Tables("Orders").Columns(7).ColumnName
Me.ChartControl1.Series(0).ValueMemberX = ds.Tables("Orders").Columns(8).ColumnName

'重ならないようにラベルに角度を付ける 
Me.ChartControl1.ChartAreas(0).Axes(0).LabelFont.Angle = 45

C#

C#(ReportStartイベント内に貼り付けます)
コードのコピー
//系列を作成する
GrapeCity.ActiveReports.Chart.Series series = new GrapeCity.ActiveReports.Chart.Series();
series.Type = GrapeCity.ActiveReports.Chart.ChartType.Bar3D;
        
//接続文字列とデータプロバイダ
string dbPath = @"C:\Program Files\ActiveReportsNET18\Samples\Data\Nwind.mdb";
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbPath;
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter
("SELECT * from Orders WHERE OrderDate < #08/17/1994#", connString);
 
// データセットを作成する
System.Data.DataSet ds = new System.Data.DataSet();
da.Fill(ds, "Orders");
 
// グラフプロパティを設定する
this.chartControl1.DataSource = ds;
this.chartControl1.Series.Add(series);
this.chartControl1.Series[0].ValueMembersY = ds.Tables["Orders"].Columns[7].ColumnName;
this.chartControl1.Series[0].ValueMemberX = ds.Tables["Orders"].Columns[8].ColumnName;
                        
// 重ならないようにラベルに角度を付ける 
this.chartControl1.ChartAreas[0].Axes[0].LabelFont.Angle = 45;

レポートを表示する

または