jQueryメソッドを使用し、HTMLViewerインタフェースをカスタマイズすることができます。WebViewerは、ページスクリプトにjQueryライブラリを追加します。このチュートリアルは、HTMLViewerツールバーからボタンを削除し、クライアント側でPDFエクスポートの処理を実現する方法について紹介します。
このトピックでは、以下のタスクを行います。
チュートリアルを完了すると、次のレポートが作成されます。
WebアプリケーションにActiveReportsをロードする
WebアプリケーションにjQueryライブラリを追加する
WebアプリケーションにjQueryライブラリを追加するには次の手順を行います。
<head>の後に次のコードを貼り付けます |
コードのコピー
|
---|---|
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> |
</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にアクセスするには次の手順を行います。
</body>タグの前に<script>タグを追加します |
コードのコピー
|
---|---|
<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クラス名が必要です。以下の一覧を参照してください。
ツールバーの子要素
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と置き換えてください。