参数不显示在预览的报告页面上
parameter don't show on report pages on preview
我有多个报告,每个报告都有多个页面。我想合并它们,设置数据源和参数,然后在预览中显示。但是下面只显示了第一页的参数,其他的没有显示。有什么方法可以合并我的报告并设置数据源和参数吗?
我在快报论坛问了同样的问题,搜索了google。
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);
如何解决这个错误?我希望在所有页面上显示参数值
我自己解决了这个问题,决定写一个答案来帮助我们的朋友,每个报告都应该在加载时设置参数
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]);
}
...
}
...
我有多个报告,每个报告都有多个页面。我想合并它们,设置数据源和参数,然后在预览中显示。但是下面只显示了第一页的参数,其他的没有显示。有什么方法可以合并我的报告并设置数据源和参数吗?
我在快报论坛问了同样的问题,搜索了google。
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);
如何解决这个错误?我希望在所有页面上显示参数值
我自己解决了这个问题,决定写一个答案来帮助我们的朋友,每个报告都应该在加载时设置参数
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]);
}
...
}
...