根据报表呈现方法隐藏报表上的图像(RDLC)

时间:2011-03-21 19:23:30

标签: c# asp.net reporting

我们有一些报告通过localreport.render()加载到asp.net网页上,如果徽标图像在页面上以内嵌方式显示,并且只显示图像,则会有一个请求隐藏徽标图像它以PDF格式呈现。

有没有办法确定报表中的渲染模式,这样我就可以创建一个表达式,将logo属性的display属性设置为隐藏,如果它不是pdf模式?

我一直在搜索google和msdn但没有运气。

谢谢!

2 个答案:

答案 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"));
相关问题