本サンプルでは、Webアプリケーションにおいて、レポートをHTMLまたはPDF形式でクライアントに配信する方法を紹介します。なお、このサンプルで紹介する手法は、Standard、Professionalのどちらでも利用可能です。
フォルダ
Visual Basic.NET
<User Folder>\ActiveReportsNET16\Samples\Web\CustomPreview\VB.NET
C#
<User Folder>\ActiveReportsNET16\Samples\Web\CustomPreview\C#
実行時の機能
サンプルを実行すると、Default.aspxページが表示されます。[PDFカスタムエクスポート]、および[HTMLカスタムエクスポート]の各リンクをクリックすると、それぞれの形式でレポートを出力しブラウザ上に表示します。
メモ:サンプルを実行するには、NorthWindデータベース(..\Samples\Data\Nwind.mdb)へのアクセス権限が必要です。サンプルでデータファイルにアクセスできない場合は、上記フォルダを作成して各データファイルをその中に配置するか、またはお客様の環境に合わせてフォルダ内のデータファイルへの参照パスを変更してください。
プロジェクトの構造
Reportsフォルダ
Reportsフォルダには、2つのrpxファイル(Invoice.rpxおよびNwindLabels.rpx)が含まれています。
Invoiceレポート
Invoiceレポートは、GroupHeaderセクション、Detailセクション、GroupFooterセクション、およびPageFooterセクションを使用しています。
ghOrderHeaderセクション
ghOrderIDセクション
ghTableHeaderセクション
Detailセクション
GFOrderIDセクション
セクションのNewPageプロパティをAfterに設定しています。この設定により、グループ(OrderID)が変わると改ページされます。
「小計」および「送料」では、SummaryFunc、SummaryGroupおよびSummaryTypeプロパティを使用して詳細データを集計しています。集計の詳細については、「集計レポートの作成」を参照してください。
一方、「合計」では、DataFieldプロパティやSummaryプロパティを使用せずに、スクリプトで計算しています。詳細については、レポートの下部にあるスクリプトタブをクリックしてください。
PageFooterセクション
NwindLabelsレポート
Detailセクション
1ページに複数の宛名ラベルを作成します。
宛名ラベルのサイズを固定にするため、DetailセクションのCanGrowプロパティをFalseに設定しています。また、カラム形式で作成するために、ColumnCount、ColumnDirection、およびColumnSpacingプロパティを設定しています。
CustomExportHtml.aspx
Default.aspxページで、[HTMLカスタムエクスポート]オプションをクリックした場合に表示されるWebフォームです。
CustomExportHtml.aspxでは、CustomHtmlOutputクラスを使用してレポートをReportOutputフォルダへエクスポートし、エクスポートしたHTMLをブラウザで表示します。CustomHtmlOutputクラスがHTMLエクスポートに必要なIOutputHtmlインタフェースを実装し、ユニークな名前のファイルに出力結果を保存します。NwindLabelsレポートを使用してレポートを作成します。
CustomExportPdf.aspx
Default.aspxページで、[PDFカスタムエクスポート]オプションをクリックした場合に表示されるWebフォームです。
CustomExportPdf.aspxでは、レポートをメモリストリームへエクスポートし、その後ブラウザに出力しています。Invoiceレポートを使用してレポートを作成します。
Default.aspx
サンプルのメインとなるWebフォームです。リンクをクリックすると、各フォームを表示します。
Web.config
HTTPハンドラの設定を追加しています。
ActiveReportsのバージョンを更新する際に、ここでは手動でバージョン情報を更新する必要があります。