RDLC报告 - 使用子报告作为报告标题

时间:2014-09-03 07:07:02

标签: sql-server reporting-services rdlc

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

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

是否有人遇到过这样的情况并有想法实现这一目标?

谢谢,Wijitha

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您也可以这样:

  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 :考虑正确设置图像属性,以使渲染的图像不会溢出框。      另外,请确保在标题报告中,将报告 宽度/高度设置为与主体宽度/高度相同/ strong>