【问题标题】:parameter don't show on report pages on preview参数不显示在预览报告页面上
【发布时间】:2019-08-29 18:43:09
【问题描述】:

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

我在快报论坛上问了同样的问题,然后搜索了谷歌。

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

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

【问题讨论】:

    标签: c# winforms fastreport


    【解决方案1】:

    我自己解决了这个问题,并决定写一个答案来帮助我们的朋友,每个报告都应该在加载时设置参数

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多