ページレポート/RDLレポートのレポートパラメータに複数の値を渡す方法は?
対象製品
ActiveReports for .NET 9.0J
詳細
ページレポート/RDLレポートでは、レポートパラメータに複数の値を設定可能になっています。
レポート側の設定は、[レポート-パラメータ]ダイアログで「複数の値を許可する」チェックボックスをONにします。

このパラメータにコードから値を渡す場合、以下のような記述になります。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
また、HTML5ビューワを使用している場合は、JavaScriptで配列を渡すことができます。
◆サンプルコード(JavaScript)
レポート側の設定は、[レポート-パラメータ]ダイアログで「複数の値を許可する」チェックボックスをONにします。

このパラメータにコードから値を渡す場合、以下のような記述になります。
◆サンプルコード(VB.NET)
Imports GrapeCity.ActiveReports.Expressions.ExpressionObjectModel
----------
' レポートオブジェクトを生成し、レポートファイルをロードします。
Dim pRep As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo("PageReport1.rdlx"))
Dim pDoc As New GrapeCity.ActiveReports.Document.PageDocument(pRep)
' パラメータを初期化します。
pDoc.Parameters("ReportParameter1").Values.Clear()
' パラメータを追加します。
pDoc.Parameters("ReportParameter1").Values.Add(New ParameterValue())
pDoc.Parameters("ReportParameter1").Values(0).Value = 1
pDoc.Parameters("ReportParameter1").Values.Add(New ParameterValue())
pDoc.Parameters("ReportParameter1").Values(1).Value = 2
----------
' レポートオブジェクトを生成し、レポートファイルをロードします。
Dim pRep As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo("PageReport1.rdlx"))
Dim pDoc As New GrapeCity.ActiveReports.Document.PageDocument(pRep)
' パラメータを初期化します。
pDoc.Parameters("ReportParameter1").Values.Clear()
' パラメータを追加します。
pDoc.Parameters("ReportParameter1").Values.Add(New ParameterValue())
pDoc.Parameters("ReportParameter1").Values(0).Value = 1
pDoc.Parameters("ReportParameter1").Values.Add(New ParameterValue())
pDoc.Parameters("ReportParameter1").Values(1).Value = 2
◆サンプルコード(C#)
using GrapeCity.ActiveReports.Expressions.ExpressionObjectModel;
----------
// レポートオブジェクトを生成し、レポートファイルをロードします。
var pRep = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
var pDoc = new GrapeCity.ActiveReports.Document.PageDocument(pRep);
// パラメータを初期化します。
pDoc.Parameters["ReportParameter1"].Values.Clear();
// パラメータを追加します。
pDoc.Parameters["ReportParameter1"].Values.Add(new ParameterValue());
pDoc.Parameters["ReportParameter1"].Values[0].Value = 1;
pDoc.Parameters["ReportParameter1"].Values.Add(new ParameterValue());
pDoc.Parameters["ReportParameter1"].Values[1].Value = 2;
----------
// レポートオブジェクトを生成し、レポートファイルをロードします。
var pRep = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
var pDoc = new GrapeCity.ActiveReports.Document.PageDocument(pRep);
// パラメータを初期化します。
pDoc.Parameters["ReportParameter1"].Values.Clear();
// パラメータを追加します。
pDoc.Parameters["ReportParameter1"].Values.Add(new ParameterValue());
pDoc.Parameters["ReportParameter1"].Values[0].Value = 1;
pDoc.Parameters["ReportParameter1"].Values.Add(new ParameterValue());
pDoc.Parameters["ReportParameter1"].Values[1].Value = 2;
また、HTML5ビューワを使用している場合は、JavaScriptで配列を渡すことができます。
◆サンプルコード(JavaScript)
var arrParam = [1, 2, 3];
var reportOption = {
id: 'PageReport1.rdlx',
parameters: [
{ // 単一の値
name: 'ReportParameter1',
value: 1
},
{ // 複数の値
name: 'ReportParameter2',
values: arrParam,
multivalue: true
}]
};
viewer.option('report', reportOption);
var reportOption = {
id: 'PageReport1.rdlx',
parameters: [
{ // 単一の値
name: 'ReportParameter1',
value: 1
},
{ // 複数の値
name: 'ReportParameter2',
values: arrParam,
multivalue: true
}]
};
viewer.option('report', reportOption);
関連情報
キーワード
HowTo データ