PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > 共通のチュートリアル(ページレポート、RDLレポートとセクションレポート) > Professional > HTMLビューワのカスタマイズ |
jQueryメソッドを使用し、HTMLViewerインタフェースをカスタマイズすることができます。WebViewerは、ページスクリプトにjQueryライブラリを追加します。このチュートリアルは、HTMLViewerツールバーからボタンを削除し、クライアント側でPDFエクスポートの処理を実現する方法について紹介します。
このトピックでは、以下のタスクを行います。
チュートリアルを完了すると、次のレポートが作成されます。
WebアプリケーションにActiveReportロードする
メモ: HTMLViewerでセクションまたはページの任意のレポートをロードすることができます。詳細は「WebViewerコントロールの使用」を参照してください。 |
WebアプリケーションにjQueryライブラリを追加する
WebアプリケーションにjQueryライブラリを追加するには次の手順を行います。
タグにコードの後次のコードを貼り付けます |
コードのコピー
|
---|---|
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> |
スクリプトタグの前次のコードを貼り付けます |
コードのコピー
|
---|---|
var clientID = ...; $(document).ready(function () { $('#' + clientID).on('loaded', viewer_loaded); }); |
WebViewerのビューモデルにアクセスする
HTML WebViewerは、UIに依存しないビューモデルを提供するMVVMパターンにより作成されます。コードでプロパティとメソッドを使用し、Viewerのビューモデルにアクセスし、カスタムUIと連結することができます。MVVMに対応するために、JavaScriptの標準のMVVMライブラリであるknockout.jsを使用することができます。Knockout.jsは、HTML内で宣言的に連結し、監視オブジェクトとコレクションを提供します。詳細は、「JavascriptでHTMLビューワの操作」を参照してください。
ViewModelにアクセスするには次の手順を行います。
文体タグの先頭に次のスクリプトタグを追加する |
コードのコピー
|
---|---|
<script language="javascript" type="text/javascript"></script> |
.aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
<script language="javascript" type="text/javascript"> |
.aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
var viewModel = GetViewModel('WebViewer1'); |
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
$('WebViewer1').bind('loaded', viewer_loaded); |
既存のツールバーボタンを削除する
Default.aspxのソースビューファイルでは、viewer_loadedイベントのハンドラに以下のJavascriptコードを追加し、WebViewerツールボックスにアクセスしてツールバーから[次ページ]ボタンを削除します。
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
var toolbar = $('#WebViewer1').find('.arvToolBar'); |
メモ:WebViewerツールバーの子要素にアクセスするには、要素のcssクラス名が必要です。以下の一覧を参照してください。 ツールバーの子要素
サイドバー: btnToggleSidebar
検索: btnFind 先頭ページ: btnFirst 前ページ: btnPrev ページのラベル: toolbarLabel ページ番号入力ボックス: toolbarInput 次ページ: btnNext 最終ページ: btnLast 親レポートに戻る: btnBack |
PDFにエクスポートの処理を追加する
以下の手順では、カスタムUIの作成を紹介します。
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
function exportPDF() |
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
<div id="customToolbar" style = "display:inline"> |
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
$('#customToolbar').appendTo(toolbar); |
カスタムUIをWebViewerのビューモデルに連結する
aspxソースにコードを貼り付けます |
コードのコピー
|
---|---|
ko.applyBindings(viewModel, document.getElementById("customToolbar")); |
メモ:上記のコードスニペットでは、'WebViewer1'をWebViewerコントロールの実際のIDと置き換えてください。 |