我们有一些报告通过localreport.render()加载到asp.net网页上,如果徽标图像在页面上以内嵌方式显示,并且只显示图像,则会有一个请求隐藏徽标图像它以PDF格式呈现。
有没有办法确定报表中的渲染模式,这样我就可以创建一个表达式,将logo属性的display属性设置为隐藏,如果它不是pdf模式?
我一直在搜索google和msdn但没有运气。
谢谢!
答案 0 :(得分:1)
您使用的是什么版本的SSRS?如果您使用的是SQL Server Reporting Services 2008 R2,我认为您很幸运。看看下面的链接,他解释了如何做你正在问的事情,但相反(用HTML显示图像但不是PDF格式)。我相信你可以改变逻辑......
http://www.mssqltips.com/tip.asp?tip=2106
图像的隐藏表达式将是......
=Globals!RenderFormat.IsInteractive
对于PDF,这将评估为Hidden = true,而对于PDF,则评估为Hidden = false,因为在此上下文中PDF被视为非交互式。
答案 1 :(得分:0)
以下是我为完成类似工作所做的工作:
我使用ReportViewer.LocalReport.Render方法将报表呈现为Excel,PDF等,并手动将其流式传输回用户进行下载。为了使报告确定是否正在导出,我只需在导出之前设置一个参数,然后在导出后重置参数。像这样:
reportViewerMain.LocalReport.SetParameters(new ReportParameter("IsExporting", "true"));
byte[] bytes = reportViewerMain.LocalReport.Render("Excel");
reportViewerMain.LocalReport.SetParameters(new ReportParameter("IsExporting", "false"));