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\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; |
レポートを表示する