我想多次生成telerik报告。
1.我有myReport.trdx
2.在我的应用程序的查看器中,我看到使用此报告,我选择了参数并可以生成预览,可以导出aso。让我们说:此参数具有至关重要的参数,名为myParam1。设置为单个值,可合并= false。
3.我的任务是:
一种)。向此报告添加名为myParm1_MultiValue的附加参数,该参数的multiValue设置为true。这是我在trdx文件中完成的。
b)。在生成raport的过程中,获取myParm1_MultiValue的值。
如果我在reportViewer.html中管理它,那就太麻烦了。 我无法管理。
C)。然后,我将选定的myParm1_MultiValue的计数以及报告字符串传递给报告解析器。
d)。在报表解析器中,我创建原始报表的多个实例,而不是创建原始报表即时实例,该实例多达myParm1_MultiValue计数。
e)。在参数编辑器的reportViewer.html中,我(以某种方式)将myParm1_MultiValue的特定值传递到了特定的报表实例。
我可以静态生成报告实例。
In ReportViewer.html
$("#reportViewer1")
.telerik_ReportViewer({
serviceUrl: "api/reports",
templateUrl:
'ReportViewer/templates/telerikReportViewerTemplate-FA.html',
reportSource: {
report: reportName + "|5" //added static count
},
In ReportResolver
protected override ReportSource ResolveReport(string report)
{
if (!report.Contains("|"))
{
if (report.StartsWith(_startsWithValue))
{
report = report.Replace(_startsWithValue, _customReportsPath);
}
return base.ResolveReport(report);
}
else
{
var massReportParams = report.Split('|');
report = massReportParams[0];
if (report.StartsWith(_startsWithValue))
{
report = massReportParams[0].Replace(_startsWithValue, _customReportsPath);
}
var book = new ReportBook();
for (var i = 0; i < int.Parse(massReportParams[1]); i++)
{
var resolvedReport = base.ResolveReport(report);
book.ReportSources.Add(resolvedReport);
}
return new InstanceReportSource { ReportDocument = book };
}
}
我要用COUNT个读取的“ | 5”替换myParam1_MultiValue.VALUE。
结果,我希望在报表查看器中运行的应用程序,预览以及导出的文件中看到生成了多个报表,每个报表对应于特定的选定myParm1_MultiValue项目。
我的主要问题是,如何在reportViewer.html中获取myParam1_MultiValue
有人可以帮忙吗?
乔拉·K。