このチュートリアルでは、ActiveReportsのProfessional エディションでWindowsフォームアプリケーションに基本的なエンドユーザーレポートデザイナを作成する方法を示します。
このチュートリアルでは、以下の作業を行います。
チュートリアルを完了すると、次のようなエンドユーザーレポートデザイナが作成されます。
フォームにデザイナコントロールの追加
レポートファイルの編集とプレビューのみできるデザイナを追加します。
C#コード(InitializeComponentメソッドの後に貼り付けます) |
コードのコピー
|
---|---|
public frmMain() { InitializeComponent(); designer.Toolbox = toolbox; } |
C#コード(Form1コードビューの上に貼り付けます) |
コードのコピー
|
---|---|
using GrapeCity.ActiveReports.Design; |
レポートファイルの読み込みおよび保存
C#コード(openToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void openToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); var dialogResult = openFileDialog.ShowDialog(); if (dialogResult == System.Windows.Forms.DialogResult.OK) { designer.LoadReport(new System.IO.FileInfo(openFileDialog.FileName)); } } |
C#コード(saveAsToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = GetSaveFilter(); var dialogResult = saveFileDialog.ShowDialog(); if (dialogResult == System.Windows.Forms.DialogResult.OK) { designer.SaveReport(new System.IO.FileInfo(saveFileDialog.FileName)); } } |
C#コード(saveAsToolStripMenuItem_Click ハンドラーの後に貼り付けます) |
コードのコピー
|
---|---|
private string GetSaveFilter() { switch (designer.ReportType) { case DesignerReportType.Section: return "Section Report Files (*.rpx)|*.rpx"; case DesignerReportType.Page: return "Page Report Files (*.rdlx)|*.rdlx"; case DesignerReportType.Rdl: return "RDL Report Files (*.rdlx)|*.rdlx"; default: return "RDL Report Files (*.rdlx)|*.rdlx"; } } |
選択されたレポート種類に基づいて新規レポートの作成
ファイル > 新規レポート> セクションレポート; ファイル >新規レポート > ページレポート; ファイル >新規レポート > RDLレポート
C#コード(sectionToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void sectionToolStripMenuItem_Click(object sender, EventArgs e) { designer.NewReport(DesignerReportType.Section); } |
C#コード(pageReportToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void pageReportToolStripMenuItem_Click(object sender, EventArgs e) { designer.NewReport(DesignerReportType.Page); } |
C#コード(rdlReportToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void rdlReportToolStripMenuItem_Click(object sender, EventArgs e) { designer.NewReport(DesignerReportType.Rdl); } |
エクスポートオプションの追加
C#コード(Form1コードビューの上に貼り付けます) |
コードのコピー
|
---|---|
using GrapeCity.ActiveReports.Export.Pdf.Page; using GrapeCity.ActiveReports.Rendering.IO; using GrapeCity.ActiveReports; using System.IO; |
C#コード(InitializeComponentメソッドの後に貼り付けます) |
コードのコピー
|
---|---|
public frmMain() void designer_ActiveTabChanged(object sender, EventArgs e) |
C#コード(exportToolStripMenuItem_Clickハンドラー内に貼り付けます。) |
コードのコピー
|
---|---|
private void exportToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Pdf (*.pdf)|*.pdf"; var dialogResult = saveFileDialog.ShowDialog(); if (dialogResult == System.Windows.Forms.DialogResult.OK) { var pdfRe = new PdfRenderingExtension(); var msp = new MemoryStreamProvider(); (designer.Report as PageReport).Document.Render(pdfRe, msp); using (var stream = msp.GetPrimaryStream().OpenStream()) using (var fileStream = new FileStream(saveFileDialog.FileName, FileMode.Create, FileAccess.Write)) { stream.CopyTo(fileStream); } MessageBox.Show("Export is done"); } } |
フォームに他のコントロールの追加
コントロール | 名前 | プロパティの値 |
---|---|---|
ReportExplorer | arReportExplorer |
ReportDesigner = designer 必要に応じてサイズを変更および移動します。 |
LayerList | arLayerList |
ReportDesigner = designer 必要に応じてサイズを変更および移動します。 |
PropertyGrid | arPropertyGrid | 必要に応じてサイズを変更および移動します。 |
GroupEditor | arGroupEditor |
ReportDesigner = designer 必要に応じてサイズを変更および移動します。 |
ReportsLibrary | arReportsLibrary |
ReportDesigner = designer |
エンドユーザーレポートデザイナの表示
[F5]を押してプロジェクトを実行します。エンドユーザーレポートデザイナが開いてページレポートが表示されます。
エンドユーザーレポートデザイナをカスタマイズする方法の詳細については、「エンドユーザーデザイナ サンプル」を参照してください。