作成日: 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
具体的な実装方法については、こちらのサンプルをご確認ください。