Reporting services SSRS(Winforms-RDLC)2016。基于行数据控制页脚内容
我们使用ReportViewer控件在Windows应用程序中托管和生成报表 该报告是一个.rdlc(实际上有几个带有子报告),并在本地运行 我需要对页脚中的内容进行额外的控制,现在需要页脚来显示最少的图表数据,这对报告的部分很敏感 我知道我不能在页脚中放置图表,尽管这没有问题,因为我可以提前生成页脚所需的图像,但是我仍然需要一种方法将正确的图像链接到页脚中 有一些全局页面,它们都包含相同的页脚图像和全局页码。这些组成了前几页和最后几页。所以基本上这些都很好Reporting services SSRS(Winforms-RDLC)2016。基于行数据控制页脚内容,reporting-services,rdlc,Reporting Services,Rdlc,我们使用ReportViewer控件在Windows应用程序中托管和生成报表 该报告是一个.rdlc(实际上有几个带有子报告),并在本地运行 我需要对页脚中的内容进行额外的控制,现在需要页脚来显示最少的图表数据,这对报告的部分很敏感 我知道我不能在页脚中放置图表,尽管这没有问题,因为我可以提前生成页脚所需的图像,但是我仍然需要一种方法将正确的图像链接到页脚中 有一些全局页面,它们都包含相同的页脚图像和全局页码。这些组成了前几页和最后几页。所以基本上这些都很好 在报告的中间也有一些动态报表部分,这
在报告的中间也有一些动态报表部分,这些是TabLIX中的一系列子报表,每个区段可以跨越多个页面,将有一个特定的报表页脚,由当前数据集的数据集行键设置。Tablix将此id作为参数传递给子报表,因此我想到可以使用函数,而不是直接设置参数
这里的想法是更新代码中的全局变量,该变量可以在页脚中访问,从而为任何图像路径提供动态元素public shared dim HeaderIndex as Int32 = 0
Public Function HeaderPassThrough(ByVal index As Int32) As Int32
HeaderIndex = index
Return index
End Function
您可能已经知道它不起作用,每当页脚查询Code.HeaderIndex的值时,它就是要处理的最后一个部分的值。因此,页脚在报告正文之后生成
我无法提前合理地知道页码,1个部分可能会流向一个页面,另外20个部分,因此我生成的任何自定义内容都将基于该标题索引生成,而不是页码
然后我想有没有一种方法可以将页码输入到页面中,因为在本例中,可以存储一个页码/HeaderIndex数组,然后由页脚引用。当然,报告正文中没有全局页码
我很想听到一些想法,比如如何根据报表数据动态控制页脚内容。解决方案并不明显 我在包含子报告的Tablix中添加了一个文本框,并将该文本框的值设置为我需要的数据键,我将其命名为
HeaderIndex
然后可通过ReportItems在页脚中引用此值!标题索引值
但是,这只是解决方案的一部分,因为该值将仅填充在子报表的第一页上
因此,我在报告代码部分添加了以下函数:
public shared dim LastHeaderIndex as Int32 = 0
Public Function HeaderPassThrough(ByVal index As String) As String
If Index = "" Then
Return LastHeaderIndex.ToString()
Else
LastHeaderIndex = Integer.Parse(index)
End IF
Return index
End Function
因此,现在我可以在呈现报告之前生成页脚图像,并将它们保存在通过HeaderIndex键入的文件系统中
然后,页脚中每个图像的路径可以是包含以下内容的表达式(该表达式提供页脚所在的节标识符):
=Code.HeaderPassThrough(ReportItems!HeaderIndex.Value)