Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于报表呈现方法的报表上隐藏图像(RDLC)_C#_Asp.net_Reporting - Fatal编程技术网

C# 基于报表呈现方法的报表上隐藏图像(RDLC)

C# 基于报表呈现方法的报表上隐藏图像(RDLC),c#,asp.net,reporting,C#,Asp.net,Reporting,我们有一些报告是通过localreport.render()加载到asp.net网页上的,如果徽标图像在页面上以html的形式内联显示,则请求隐藏该图像,如果该图像以pdf的形式呈现,则仅显示该图像 有没有办法确定报告中的渲染模式,以便我可以创建一个表达式,将徽标图像的“显示”属性设置为“隐藏”(如果不是pdf模式) 我一直在搜索谷歌和msdn,但运气不好 谢谢 您使用的是什么版本的SSR?如果您使用的是SQL Server Reporting Services 2008 R2,我认为您很幸运。

我们有一些报告是通过localreport.render()加载到asp.net网页上的,如果徽标图像在页面上以html的形式内联显示,则请求隐藏该图像,如果该图像以pdf的形式呈现,则仅显示该图像

有没有办法确定报告中的渲染模式,以便我可以创建一个表达式,将徽标图像的“显示”属性设置为“隐藏”(如果不是pdf模式)

我一直在搜索谷歌和msdn,但运气不好


谢谢

您使用的是什么版本的SSR?如果您使用的是SQL Server Reporting Services 2008 R2,我认为您很幸运。查看下面的链接,他解释了如何做你想做的事情,但恰恰相反(用HTML显示图像,而不是int-PDF)。我相信你可以改变逻辑

图像的隐藏表达式将是

=Globals!RenderFormat.IsInteractive

对于HTML,这将计算为Hidden=true;对于PDF,这将计算为Hidden=false,因为在此上下文中PDF被认为是非交互式的。

您使用的是什么版本的SSR?如果您使用的是SQL Server Reporting Services 2008 R2,我认为您很幸运。查看下面的链接,他解释了如何做你想做的事情,但恰恰相反(用HTML显示图像,而不是int-PDF)。我相信你可以把逻辑颠倒过来

图像的隐藏表达式将是

=Globals!RenderFormat.IsInteractive

HTML的计算结果为Hidden=true,PDF的计算结果为Hidden=false,因为在此上下文中PDF被认为是非交互式的。

以下是我为实现类似目标所做的工作:

我使用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"));

以下是我为实现类似目标所做的工作:

我使用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"));

我们正在asp.net网页上使用Microsoft.Reporting.WebForms并加载本地report.rldc文件。我选中了,但是在VS编辑器中没有全局渲染格式选项。但是谢谢你的建议!是的,MSFT已经证实Globals!RenderFormat“仅在SQL Server Reporting Services 2008 R2和服务器报表中可用。当前,所有版本的本地报表(.rdlc)不包括此功能。我们正在asp.net网页上使用Microsoft.Reporting.WebForms并加载本地report.rldc文件。我检查了,VS编辑器中没有全局渲染格式选项。但是感谢您的建议!是的,MSFT已确认全局渲染格式为“仅在SQL Server Reporting Services 2008 R2和Server report中可用。目前,本地报表(.rdlc)的所有版本都不包含此功能。