はじめに
Infragistics.ReportsはUltimate UI for WPF製品に含まれているパワフルなコードライブラリです。開発者が簡単にXamDataGridの印刷や、XPSへのエクスポートをアプリケーションで提供できるよう作成されています。ヘッダーまたはフッターを追加し、カスタム画像を追加するなど、ドキュメントをカスタマイズする機能も提供します。プリンターでウィンドウ全体を印刷、また、視覚的な要素も印刷できます。チャートや画像など、あらゆる要素を印刷できます。印刷プレビューコントロールなどのヘルパーコントロールがドキュメントの印刷/エクスポートのエクスペリエンスを向上するためにライブラリに追加されました。この記事はXamDataGridを印刷、またレポートをプリンターと関連付ける方法を紹介します。
Infragistics.Reportsの設定
InfragisticsWPF4.Reportingアセンブリの参照を追加します。このアセンブリはプリンターまたはXPSドキュメントに書き込むメソッドを含みます。次に、Reportクラスのインスタンスを作成します。この要素は印刷する要素です。レポートはセクションのコレクションで作成されます。各セクションはコンテンツを含みます。Infragistics.Windows.Reports.EmbeddedVisualReportSectionは便利なキー クラスです。セクションの視覚的な要素に適用できます。
Infragistics.Windows.Reporting.Report myReport = new Infragistics.Windows.Reporting.Report(); Infragistics.Windows.Reporting.EmbeddedVisualReportSection myXamDataGridReport = new Infragistics.Windows.Reporting.EmbeddedVisualReportSection(this.xamDataGrid1); myReport.Sections.Add(myXamDataGridReport);
印刷プレビュー
次に、印刷するドキュメントを印刷プレビュー ダイアログに送信します。Infragistics XamReportPreview コントロールを使用します。以下のようにコントロールを WPF アプリケーションに追加します。
XAML側
<Window x:Class="XamCommunitySample.MainWindow1" xmlns:igReports="http://infragistics.com/Reporting" ...> <igReports:XamReportPreview x:Name="xamReportPreview1" /> </Window>
C#側
//Method Signature GeneratePreview(Report, bool showPrintDialog, bool showReportProgressControl); xamReportPreview1.GeneratePreview(myReport, false, true);
XamReportPreviewコントロールのGeneratePreviewメソッドを使用して、作成したReportを渡します。メソッドの定義では印刷エクスペリエンスを向上するパラメーターがあります。パラメーターは以下のとおりです。
- Infragistics.Windows.Reports.Report – 印刷またはプレビューするReport。
- bool ShowPrintDialog – プリンターおよび印刷位置を設定する標準の PrintPreviewDialog を表示します。
- bool ShowReportProgressControl – 印刷プレビューを作成しているときに進行状態を表示するヘルパー ダイアログを表示します。
印刷
最後に、ドキュメントの印刷に大切なメソッドが2つあります。ExportとPrintです。これらのメソッドはドキュメントをXPSにエクスポートし、ドキュメントをプリンターに送信します。以下はそのコードです。
myReport.Print(); myReport.Export(Infragistics.Windows.Reporting.OutputFormat.XPS, "FileLocation");
必要な手順は以上です。たった数行のコードで、XamDataGridや他の視覚的な要素を印刷/エクスポートすることができます。