参数不会显示在预览的报告页面上

时间:2019-08-28 12:40:18

标签: c# winforms fastreport

我有多个报告,每个报告都有多个页面。我想合并它们,设置数据源和参数,然后在预览中显示它。但是,仅第一页中的参数显示,而其他未在下面显示。有什么方法可以合并报表并设置数据源和参数?

我在快速报告论坛上问了同样的问题,并搜索了谷歌。

 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);

如何解决此错误?我希望在所有页面上都能显示参数值

1 个答案:

答案 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]);
    }
...
}

...