作成日: 2021/06/23 最終更新日: 2021/06/23
文書種別
使用方法
詳細
JSビューワに表示するレポートのデータソースを動的に変更したい場合、以下の方法が考えられます。
LocateDataSourceイベントを使用する方法
StartupクラスでLocateDataSourceのイベントハンドラを設定し、レポートのデータソースにDataTableなどのオブジェクトを渡すことができます。
app.UseReporting(settings => { settings.UseEmbeddedTemplates(EmbeddedReportsPrefix, Assembly.GetAssembly(GetType())); settings.UseCompression = true; settings.LocateDataSource = args => { var data = new System.Data.DataTable(); data.Columns.Add("field1"); data.Rows.Add("Sample Text"); return data; }; });
レポート側の設定方法については、以下の文書をご確認ください。
レポートのデータソースとしてDataTableを設定する方法
パラメータを経由してフィルタを設定する方法
JSビューワでは、初期化オプションのreportParametersやopenReportメソッドの第2引数を使用して、レポートのパラメータに値を渡すことができます。
const param = [ { name: 'ReportParameter1', values: [100] } ]; viewer.openReport("PageReport1.rdlx", param);
パラメータに渡した値を使用して、レポートに出力するデータにフィルタを設定することができます。
レポート側の設定方法については、以下の文書をご確認ください。
パラメータを経由してJsonProviderにデータを渡す方法
レポートの「データソースの種類」に"Json Provider"を指定し、接続文字列を以下のような式にすると、パラメータを経由してJSONデータを渡すことができます。
="jsondata=" & Parameters!ReportParameter1.Value
具体的な実装方法については、こちらのサンプルをご確認ください。