我有多个报告,每个报告都有多个页面。我想合并它们,设置数据源和参数,然后在预览中显示它。但是,仅第一页中的参数显示,而其他未在下面显示。有什么方法可以合并报表并设置数据源和参数?
我在快速报告论坛上问了同样的问题,并搜索了谷歌。
var report = new FastReport.Report();
foreach (var item in reportbytes)
{
using (var memoryStram = new MemoryStream(item))
{
report.Load(memoryStram);
_report.Dictionary.DataSources.AddRange(report.Dictionary.DataSources.Cast<TableDataSource>().ToArray());
_report.Pages.AddRange(report.Pages.Cast<ReportPage>().ToArray());
_report.Dictionary.Parameters.AddRange(report.Dictionary.Parameters.Cast<Parameter>().ToArray());
}
}
_report.RegisterData(dataSource, dataSource.DataSetName, true);
foreach (var item in parameters)
{
_report.SetParameterValue(item.Key, item.Value);
}
_report.Show(true);
如何解决此错误?我希望在所有页面上都能显示参数值
答案 0 :(得分:0)
我自己解决了这个问题,决定写答案来帮助我们的朋友,每个报告在加载时都应设置参数
var report = new FastReport.Report();
foreach (var item in reportbytes)
{
using (var memoryStram = new MemoryStream(item))
{
report.Load(memoryStram);
...
foreach (Parameter parameterItem in report.Parameters)
{
if (parameters.ContainsKey(parameterItem.Name))
report.SetParameterValue(parameterItem.Name,parameters[parameterItem.Name]);
}
...
}
...