【问题标题】:RDLC Reports - Use a Sub report as a Report HeaderRDLC 报告 - 使用子报告作为报告标题
【发布时间】:2014-09-03 07:07:02
【问题描述】:

在 RDLC 报告中,我们计划使用子报告作为报告标题,以避免代码重复并保持所有报告的一致性。

但是 RDLC 不允许在标题部分添加子报告。因此,我们只能将其添加到正文中。添加到正文时,子报表仅在第一页可见。我们需要将其显示为所有页面的页眉。

有没有人遇到过这样的场景并有实现这一目标的想法?

谢谢,维吉塔

【问题讨论】:

  • 如果您的标题是静态的,您可以使用模板。

标签: sql-server reporting-services rdlc


【解决方案1】:

您可能需要重新考虑您的方法。如果您希望所有报告都具有相同的标题,为什么不将您的“标题”报告用作“主”报告并将其他报告作为子报告放入其正文中?

另外,您可以选择在主报告中使用表格,并在表格标题中创建“标题”并将其设置为在每个页面上重复,并将您的子报告添加为详细信息行。这取决于您报告的逻辑以及您是否需要任何其他分组或可见性条件。

【讨论】:

  • 你能详细说明你的第一个建议吗?
  • 我不确定你会对什么感兴趣。如果你给我一些关于你的问题的细节,我会知道什么样的细节会对你有帮助。否则,有关于该主题的文档可用。
  • 我同意你的第一个建议,但我想知道,如何从 c# 中的代码动态地将所有报告放入主报告的正文中。当我在谷歌上搜索更多时,我有办法做到这一点。
【解决方案2】:

你也可以这样做:

  1. 将标题内容放在单独的报告中
  2. 将图像放在主报表的标题中,将其源指向数据集字段
  3. 在您的代码中,首先将您的标题报表呈现为图像,然后将图像添加为主报表的数据源,如下所示:
ReportViewer header_report = new ReportViewer();
header_report.LocalReport.ReportPath=PATH_TO_HEADER_REPORT
byte[]  IMAGE_CONTAINER = rp.LocalReport.Render("Image", "<DeviceInfo><OutputFormat>JPEG</OutputFormat><DpiX>1000</DpiX><DpiY>1000</DpiY></DeviceInfo>");               
// THEN ADD TO THE MAIN REPORT DATASOURCES
main_reportviewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", new List<CUSTOM_OBJECT>() { A_BYTE[]_FIELD=IMAGE_CONTAINER  }));

这应该可以解决问题。

NB :考虑正确设置图像属性,以使渲染图像不会溢出框。 此外,请确保在标题报告中将 报告 width/height 设置为与 bodywidth/height 相同/strong>

【讨论】:

    猜你喜欢
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2011-07-14
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多