我熟悉基于变量或参数值动态显示/隐藏其他报表对象(文本框/ tablix /列等等) - 但有没有办法用标题执行此操作?我没有看到任何"知名度"标题对象上的tab用于设置表达式。
此外,有没有办法根据导出样式隐藏标题。例如,我想在导出为PDF时显示标题,但是在导出到XLS时要隐藏它(以防止单元格合并)。
我已经看过"标题"取而代之的是一个"矩形"可以切换。我也看到过引用= Globals的文章!RenderFormat.IsInteractive =“EXCEL”),但我不知道它在哪里设置?在服务器配置文件?有没有办法让它只针对那个特定的rdl报告文件?
提前致谢!
答案 0 :(得分:5)
回答你的问题:
是否可以动态显示/隐藏标题 - 否。很遗憾,您无法在RDL报告中设置整个页眉/页脚的可见性。
是否可以根据导出样式隐藏标题 - 不完全。正如我所说,您无法设置整个标题的可见性,但您可以设置单独报表项的可见性标题基于导出样式。
设置它的位置 - 在通常的隐藏表达式中设置在报告中。与服务器配置文件无关以实现此目的(唯一的一点是看看rsreportserver。 config - 它包含带渲染扩展的部分,了解它们的名称很有用,fe名称“EXCEL”用于旧的二进制XLS格式,而“EXCELOPENXML”用于现代XLSX。
要根据导出样式设置可见性,可以使用内置报表字段RenderFormat.Name(注意它是Name,而不是IsInteractive!)。只需为隐藏属性键入以下表达式:
=Globals!RenderFormat.Name = "PDF"
总之,您无法设置整个标题的可见性,您可以根据所需的不同条件显示/隐藏标题内的报表项,但标题仍然会占用一些位置。要真正隐藏标题以使其不占用报表空间,您可以使用矩形和分页符来模拟标题,这就是解决方法。
答案 1 :(得分:0)
我面前的报告要求具有类似的性质。
需要:导出到CSV文件时隐藏标题。
该报告将导出为CSV,然后上传到另一个系统(该系统不需要标题)。为了更方便用户使用,我希望报表显示标题,但不将其导出到CSV文件中。
我尝试了一些行不通的事情。然后,我找到了一篇文章,描述了如何创建 新的导出格式 ,Labeled: "CSV No Headers"
,从而解决了导出要求。
文件:D:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
XML:
<Extension Name="CSV (No Header)" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
<OverrideNames>
<Name Language="en-us"> CSV No Header</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<NoHeader>true</NoHeader>
</DeviceInfo>
</Configuration>
新选项:
EXPORTED>报告名称(CSV无标题)。csv:
已导出>报告名称(Excel).xlsx:
来源: Charanmandya Blogspot: Export Csv Without Header in SSRS
我通读了这篇文章, Blog, Beer Intelligence by Valentino Vranken: "Hide/Show Items Dependant On Export Format (SSRS)" 。这篇文章对很多用户的评论和建议很有帮助。但是我尝试了这些事情,但是没有标题行,它们就无法用于CSV导出。
这适用于“ Excel”或“ EXCELOPENXML”格式。由于某些原因,“ CSV”不起作用。
一些相关的stackoverflow问题...