JavaScriptを使用してJSビューワを操作する場合、初期化中と実行時に設定できるオプションと、初期化した後にのみ使用できるAPIメソッドとプロパティがあります。
以下のオプションは、初期化中、または実行時にJSビューワを操作するときに設定できます。
action
説明: JSビューワがハイパーリンク、ブックマークリンク、ドリルダウンレポートを開く前、またはレポートコントロールの表示/非表示を切り替える前に呼び出されるコールバック。
型: function(actionType, actionParams)
| コード |
コードのコピー
|
|---|---|
action: (actionType, actionParams) => console.log('Action type: ' + actionType + '; Action parameters: ' + actionParams) |
|
animation
説明: レポートをプレビューする時に使用できるアニメーションオプション。
型: 利用可能なオブジェクトとプロパティは次のとおりです。
詳細については、「アニメーション」を参照してください。
| Sample code |
コードのコピー
|
|---|---|
animation: {
loadChart: {
enabled: true
},
hoverChart: {
enabled: true
},
hoverTable: {
enabled: true,
backgroundColor: 'LightGray',
textColor: 'DarkGray'
}
}
|
|
availableExports
説明: JSビューワのエクスポート機能で使用できるエクスポート形式の配列。ページ/RDLレポートでは、デフォルトでMht、Pdf、Tiff、Xls、Xlsx、Csv、Doc、Docx、Json、Xml、Txt、XlsxDataおよびCsvData形式のエクスポートができます。※エクスポート機能を無効にする場合は['']のように指定します。
セクションレポートでは、デフォルトでMht、Pdf、Tiff、Xls、Xlsx、Rtf、およびTxt形式のエクスポートができます。
型: Array
| コード |
コードのコピー
|
|---|---|
availableExports: ['Xml', 'Pdf', 'XlsxData', 'CsvData', 'Rtf', 'Xls', 'Xlsx'] //エクスポート機能を無効にする場合は['']を指定します。 |
|
defaultExportSettings
説明: エクスポートパネルで表示される任意のフィールドのデフォルト値と表示設定するカスタムエクスポート設定を含むオブジェクト。エクスポート形式は、mht、pdf、tiff、xls、xlsx、csv、doc、docx、json、xml、xlsxData、csvData、rtf、およびtxtです。エクスポートの設定は、エクスポート形式によって異なります。
エクスポート形式の詳細については、「カスタムエクスポート設定」を参照してください。
各エクスポート設定は、value(以下のように、Filename_1)とvisible(ブール値)の2つのプロパティを持つオブジェクトを受け取ります。たとえば、「xls」形式のデフォルトの「FileName」を設定すると、次のようになります。| コード |
コードのコピー
|
|---|---|
defaultExportSettings: {
xls: {
FileName: {
value: "Filename_1",
visible: false
}
}
}
|
|
displayMode
説明: 単一ページ/連続ページを設定します。
型: String
有効な値: 'Single', 'Continuous'
| コード |
コードのコピー
|
|---|---|
displayMode: 'Continuous'
|
|
documentLoaded
説明: サーバー上でドキュメントが完全にロードされたときに呼び出されるコールバック。
型: function()
有効な値: Void
| コード |
コードのコピー
|
|---|---|
documentLoaded: () => console.log('サーバー上でドキュメントが完全にロードされました。')
|
|
element
説明: JSビューワコントロールをホストする要素を指定するJQueryセレクター。
型: String
| コード |
コードのコピー
|
|---|---|
element: '#viewerContainer'
|
|
error
説明: レポートの表示プロセスでエラーが発生したときに呼び出されるコールバック。コールバックがtrueを返した場合、デフォルトのエラーパネルは表示されません。エラーパラメータは、エラーメッセージをカスタマイズできるプロパティを持つオブジェクトです。
型: function(error)
| コード |
コードのコピー
|
|---|---|
error: (error) => {
if(error.message) {
// エラーメッセージを表示します。
alert("内部エラーです。管理者へお問い合わせください。");
// デフォルトのエラーメッセージを表示しません。
return true;
}
}
|
|
locale
説明: ビューワの表示に使用する事前定義のロケールを指定します。ロケールを明示的に指定しない場合は、ブラウザの設定に対応するロケールが使用されます。ビューワのUI表示は、以下の言語をサポートしています。
型: String
有効な値: 'en-US'(英語)、'ja-JP'(日本語)、'zh-CN'(中国語)
| コード |
コードのコピー
|
|---|---|
locale: 'ja-JP'
|
|
localeData
説明: ローカライズされた文字列を含むJSON。すべての文字列が必要ではありません。欠損値はデフォルトのローカライズされたデータを使用して表示されます。これはlocaleUriに似ていますが、ローカライズされたデータへのパスではなく、JSONオブジェクトを介したローカライズされたデータ自体が指定されます。
型: JSON
| コード |
コードのコピー
|
|---|---|
localeData: JSON.parse( `{
"export": {
"boolTextFalse": "No",
"boolTextTrue": "Yes"
},
"viewer": {
"toolbar": {
"refresh": "Refresh"
}
}
}`
),
|
|
localeUri
説明: ローカライズされた文字列を含むファイル(custom-locale.json)のURL。すべての文字列が必要ではありません。欠損値はデフォルトのローカライズされたデータを使用して表示されます。
型: String
| コード |
コードのコピー
|
|---|---|
localeUri: './custom-locale.json'
|
|
custom-locale.jsonファイルの内容:
| custom-locale.json |
コードのコピー
|
|---|---|
{
"export": {
"boolTextFalse": "No",
"boolTextTrue": "Yes",
...
},
"exportcsv": {
"friendlyName": "-CSV-",
"settings": {
"ColumnsDelimiter": {
"label": "ColumnsDelimiter",
"category": "Misc"
},
...
},
...
},
...
}
|
|
pageView
説明: レポートページの水平方向の配置とビューを定義します。
型:利用可能なプロパティは次のとおりです。
プロパティ
詳細については、「ページビューのカスタマイズ」を参照してください。
| コード |
コードのコピー
|
|---|---|
pageView: { horizontalAlignment: 'left', viewMode: 'standard'}
|
|
panelsLocation
説明: 検索パネル、パラメータパネルなどのパネルの位置を、JSビューワの左側(ツールバー)または右側(サイドバー)に設定します。デフォルト値は「ツールバー」です。
型: String
有効な値: 'toolbar', 'sidebar'
| コード |
コードのコピー
|
|---|---|
panelsLocation: 'sidebar'
|
|
parametersPanel
説明: パラメータパネルの設定を指定します。
型: String
有効な値: 'default', 'top'
| コード |
コードのコピー
|
|---|---|
parametersPanel: {
location: 'top'
}
|
|
renderFormat
説明: ページまたはRDLレポートの表示形式をhtmlまたはsvgに設定します。
型: String
有効な値: 'html', 'svg'
| コード |
コードのコピー
|
|---|---|
renderFormat: 'svg'
|
|
renderMode
説明: JSビューワでページの表示モードを設定します。デフォルト値は「Paginated」です。
型: String
有効な値: 'Galley', 'Paginated'
| コード |
コードのコピー
|
|---|---|
renderMode: 'Galley'
|
|
reportID
説明: JSビューワに表示されるレポートのID。
型: String
| コード |
コードのコピー
|
|---|---|
reportID: 'AnnualReport.rdlx'
|
|
reportLoaded
説明: JSビューワが要求されたレポートに関する情報を取得するときに呼び出されるコールバック。TOC情報、パラメータ情報、およびレンダリングされたレポート結果へのリンクを含むreportInfoオブジェクトがこのコールバックに渡されます。
型: function(reportInfo)
| コード |
コードのコピー
|
|---|---|
reportLoaded: (reportInfo) => console.log('The report ' + reportInfo.name + ' was successfully loaded!') |
|
reportParameters
説明: レポートの実行に使用されるパラメータを表す{name, value}ペアの配列。
型: Array
| コード |
コードのコピー
|
|---|---|
reportParameters: [{ name: 'ReportParameter1', values: ['1']}]
|
|
reportService
説明: Web APIに接続するための設定を定義します。
型: 次のオプションのプロパティを持つオブジェクト。
url: '/api/reporting' // デフォルト値
url: 'http:example.com/api/reporting'
securityToken: 'security_token'
onRequest: (init) => init.headers.Authorization = 'security_token'
init引数は、次のオプションを受け取るオブジェクトです。
詳細については、「https://triple-underscore.github.io/Fetch-ja.html#requestinit」を参照してください。
| デフォルトのエラーパネルを非表示にするサンプルコード |
コードのコピー
|
|---|---|
reportService: {
url: 'http://example.com/api/reporting', //WebサービスURL
securityToken: 'security_token', //securityTokenを提供します。
onRequest: (init) => {
init.credentials = "include",
init.headers = { "Cache-Control": "no-cache, no-store, must-revalidate", "Expires": "0", "Pragma": "no-cache", "Accept": "application/json" },
init.signal = new AbortController().signal
}
}
|
|
silentPrint
説明: [印刷の準備中]ダイアログを表示するかどうかを設定します。
型: Boolean
例:
const viewer = GrapeCity.ActiveReports.JSViewer.create({
element: '#root',
silentPrint: true,
});
| コード |
コードのコピー
|
|---|---|
silentPrint: true
|
|
backToParent()
説明: ドリルダウンレポートの親レポートをビューワに表示します。
戻り値: Void
| コード |
コードのコピー
|
|---|---|
viewer.backToParent() |
|
create()
説明: Viewerの新しいインスタンスを作成し、指定されたDOM要素にレンダリングします。
引数型: params (すべてのプロパティ)
戻り値: Void
| コード |
コードのコピー
|
|---|---|
<div id="viewerContainer"> const viewer = GrapeCity.ActiveReports.JSViewer.create({ element: '#viewerContainer, reportID: 'Report.rdlx', availableExports: ['Xml', 'Pdf'], // その他のプロパティ }); |
|
destroy()
説明: 要素からビューワコンテンツを削除します。
戻り値: Void
| コード |
コードのコピー
|
|---|---|
viewer.destroy() |
|
export(exportType, callback, saveAsDialog,settings)
説明: 現在表示されているレポートをエクスポートします。
引数型:
exportType:エクスポート形式を指定します。
callback:エクスポート結果が利用可能になると呼び出される関数。そのURLはcallbackに渡されます。
saveAsDialog:エクスポート結果が利用可能になったら、すぐに[名前を付けて保存]ダイアログを表示するかどうかを示します。
settings:エクスポートの設定。エクスポート形式によって異なります。
戻り値: Void
メモ:描画拡張機能を使用して各種ファイルに出力するため、セクションレポートではsettingsの設定は有効になりません。エクスポートフィルタを使用してPDFにエクスポートするとき、ページレポート/RDLレポートではエクスポート設定は有効になりません。
| コード |
コードのコピー
|
|---|---|
viewer.export('Pdf', downloadReport, true, { Title: '1997 Annual Report' }) // 関数はuriからレポートを取得します(コールバック関数)。 var downloadReport = function (uri) { var newWin = null; // 新しいウィンドウでURIを開きます。 try { newWin = window.open(uri); } catch (e) { } // 新しいウィンドウを開くことができない場合は、現在のウィンドウでURIを開きます。 if (!newWin) { window.location = uri; } }; |
|
getToc()
説明: レポートの見出しを取得します。
戻り値: TOC
| コード |
コードのコピー
|
|---|---|
console.log(viewer.getToc()) |
|
goToPage(number, offset, callback)
説明: ビューワに特定のページを表示します。ページ番号は1から始まります。
引数型:
ページ番号: 移動先のページ番号。
戻り値: Void
| コード |
コードのコピー
|
|---|---|
var pageNumber = 3;
viewer.goToPage(pageNumber);
|
|
openReport(reportID: string, reportParameters?: Array<Parameter>)
説明: レポートを開きます。
引数型:
reportID: String(reportName)
reportParameters: レポートの配列。
戻り値: Void
| コード |
コードのコピー
|
|---|---|
const reportName = "Report.rdlx"; viewer.openReport(reportName); //または //viewer.openReport(reportsArray[0]); |
|
print()
| コード |
コードのコピー
|
|---|---|
viewer.print() |
|
refresh()
説明: レポートのプレビューを更新します。
戻り値:Void
| コード |
コードのコピー
|
|---|---|
viewer.refresh() |
|
GrapeCity.ActiveReports.JSViewer.version
説明: JSビューワの現在のバージョンを表す文字列。
戻り値: String
| コード |
コードのコピー
|
|---|---|
console.log(GrapeCity.ActiveReports.JSViewer.version) |
|
viewer.toolbar.desktop.addItem(button)
説明: デスクトップのツールバーにカスタムツールバーの項目(ボタン)を追加します。
フルスクリーンの場合: viewer.toolbar.fullscreen.addItem()
モバイルの場合: viewer.toolbar.mobile.addItem()
引数型: 次のように、ToolbarItemに属します。
type ToolbarItem = { key: string; /** * @deprecated use icon instead */ iconCssClass?: string; icon?: Icon; text?: string; title?: string; checked?: boolean; enabled?: boolean; action?: (curr?: ToolbarItem) => Partial | void; onUpdate?: (args: ChangedEventArgs, curr: ToolbarItem) => Partial | void; } ;
戻り値: item: ToolbarItem
| コード |
コードのコピー
|
|---|---|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> var pdfExportButton = { key: '$pdfExportButtonKey', iconCssClass: 'fa fa-file', enabled: true, action: function (item) { console.log('ドキュメントをPDF形式にエクスポートします。'); }, onUpdate: function (arg, item) { console.log('ビューワが更新されました。ボタンの状態を確認または更新します。'); } }; viewer.toolbar.desktop.addItem(pdfExportButton); // または var btn = { key: '$openDesigner', iconCssClass: 'fa fa-folder', text: 'ClickToSave', enabled: true }; viewer.toolbar.desktop.addItem(btn); |
|
viewer.toolbar.desktop.removeItem(buttonKey)
説明: デスクトップのツールバーから既存の項目を削除します。
フルスクリーンの場合: viewer.toolbar.fullscreen.removeItem()
モバイルの場合: viewer.toolbar.mobile.removeItem()
引数型: String
戻り値: String
| コード |
コードのコピー
|
|---|---|
viewer.toolbar.desktop.removeItem('$pdfExportButtonKey'); // pdfExportButtonKeyは、addItemメソッドを使用して追加されたボタンです。 |
|
viewer.toolbar.desktop.layout(layout)
説明: 表示されているデスクトップのツールバー項目のキーとその順序を設定します。
フルスクリーンの場合: viewer.toolbar.fullscreen.layout()
モバイルの場合: viewer.toolbar.mobile.layout()
引数型: レイアウトボタンの配列
戻り値: String
| コード |
コードのコピー
|
|---|---|
// ツールバーのレイアウトを変更します(ツールバーのボタンの位置を変更します) var layout = ["$navigation", "$split", "$refresh", "$split", "$history", "$split", "$mousemode", "$zoom", "$fullscreen", "$split", "$print", "$singlepagemode", "$continuousmode", "$galleymode"] viewer.toolbar.desktop.layout(layout); |
|
viewer.toolbar.toggle(Boolean value)
説明: ツールバーの表示を切り替えます(ツールバーを表示または非表示にします)。
引数型: boolean
戻り値: trueを渡すとツールバーが表示され、falseを渡すとツールバーが非表示になります。表示を切り替えるには、値を渡しません。
| コード |
コードのコピー
|
|---|---|
viewer.toolbar.toggle(false);//ツールバーを非表示にします。 viewer.toolbar.toggle(true);//ツールバーを表示します。 |
|
viewer.sidebar.toggle(Boolean value)
説明: サイドバーの表示を切り替えます(サイドバーを表示または非表示にします)。
引数型:boolean
戻り値: trueを渡すとサイドバーが表示され、falseを渡すとサイドバーが非表示になります。表示を切り替えるには、値を渡しません。
| コード |
コードのコピー
|
|---|---|
viewer.sidebar.toggle(false); //サイドバーを非表示にします。 viewer.sidebar.toggle(true); //サイドバーを表示します。 |
|
viewer.toolbar.desktop.getKeys()
説明: ツールバーに表示される順序で、デフォルトボタンと追加ボタンの識別子を返します。
戻り値: String
| コード |
コードのコピー
|
|---|---|
// キーの順序を取得し、逆にします。
viewer.toolbar.desktop.layout(viewer.toolbar.desktop.getKeys().reverse())
|
|
currentPage()
説明: 現在表示されているページ番号を取得します。
戻り値: 現在表示されているページ番号を表す整数。
| コード |
コードのコピー
|
|---|---|
console.log(viewer.currentPage()) |
|
pageCount()
説明: 現在表示されているレポートのページ数を取得します。
戻り値: ページ数を表す整数。
| コード |
コードのコピー
|
|---|---|
console.log(viewer.pageCount()) |
|