Chartコントロールでは、グラフを配列などの任意のタイプのデータソースにバインドできます。データソースを設定せずにグラフを作成して、実行時にデータをコントロールにロードできます。このチュートリアルでは、単純なアンバウンドグラフの作成方法を紹介します。
このトピックでは、以下のタスクを行います。
チュートリアルを完了すると、次のレポートが作成されます。
VisualStudioプロジェクトにActiveReportを追加する
詳細は、「クイックスタート」を参照してください。
レポートにChartコントロールを追加する
| プロパティ名 | プロパティの値 |
|---|---|
| Location | 0, 0in |
| Size | 6.5, 3.5in |
Chartのプロパティを設定する
レポートのデザイナ面では、グラフのタイトル以外は空白で表示されます。
コードを追加して、実行時にグラフを作成する
レポートの下のグレーの領域をダブルクリックし、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\ActiveReportsNET16\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\ActiveReportsNET16\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;
|
|
レポートを表示する