我们有我们使用网站上的许多报告。 虽然出口一些报道为PDF格式,文件大小变得庞大,服务器崩溃,由于加载。 因此,这将是巨大的,如果我可以禁用出口只对某些问题的报告PDF选项。
那么,有没有一种方法来禁用某些输出选项:在报表查看器9.0(SSRS)(例如导出为PDF),个别报道?
谢谢。
我们有我们使用网站上的许多报告。 虽然出口一些报道为PDF格式,文件大小变得庞大,服务器崩溃,由于加载。 因此,这将是巨大的,如果我可以禁用出口只对某些问题的报告PDF选项。
那么,有没有一种方法来禁用某些输出选项:在报表查看器9.0(SSRS)(例如导出为PDF),个别报道?
谢谢。
万一别人说出声之前在这里或在相关报道:
该neatiest全球解决办法是找到在RS配置文件中的渲染引擎(矿山坐落在:C:\ Program Files文件\ Microsoft SQL Server的\ MSRS12.MSSQLSERVER \ Reporting Services的\的ReportServer \ rsreportserver.config),转到XML密钥: 扩展 > 渲染和你要隐藏的每个条目的末尾插入以下属性:
可见=“假”
例:
<扩展名= “XML”类型= “Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering” 可见= “假”/>
或者把<! -和- >(HTML注释标记)在入口的开始和结束。
对于个别报道这些功能就可以了。
您可以在这里在一个特定的配置文件隐藏全球PDF按钮:
“安装路径\ Reporting Services的\的ReportServer \ rsreportserver.config”
欲了解更多的信息,已经有一个关于这个StackOverflow上的话题。
这里更多的答案,请查看: 的ReportViewer -隐藏PDF导出
您可以在报表查看器中使用Pre_render事件。
protected void ReportViewer1_PreRender(object sender, EventArgs e)
{
DisableUnwantedExportFormat((ReportViewer)sender, "Excel");
DisableUnwantedExportFormat((ReportViewer)sender, "Word");
}
看看这个帖子
例如删除保存为SSRS
我对这个解决方案
$(document).ready(function() {
var sel = $("select#ReportViewer2_ctl01_ctl05_ctl00");
sel.find("option[value='XML']").remove();
sel.find("option[value='CSV']").remove();
sel.find("option[value='IMAGE']").remove();
sel.find("option[value='MHTML']").remove();
sel.find("option[value='PDF']").remove();
sel.find("option[value='EXCEL']").remove();
});
这解决了问题(部分为我们):
http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/0c680c69-9f7d-42aa-a6b4-b1178eab8adf
我用的是MvcReportViewer库来获得我们的MVC应用程序SSRS的报表查看器。 该库不支持用户控制生命周期事件,所以我不能够使用由shamcs给出的prerender方法。 通过Ristanovic马尔科描述的Javascript方法部分的工作,但选择不为SSRS的版本中,我们使用的工作,它需要的JQuery在iframe中被加载,并没有描述的方式仅适用于特定报表做到这一点。 以下是我想出了:
在我的ReportViewer部分,添加以下脚本块:
var frame = $('#reportframe');
var src = frame.attr('src');
frame.attr('src', src + '?showAdditionalExports=' + @ViewBag.ShowExportsAttribute);
在ReportViewerWebForm.aspx,我添加了另一个脚本块:
var urlParams = new URLSearchParams(location.search);
if (urlParams.get('showAdditionalExports') === 'true') {
document.addEventListener("DOMContentLoaded",
function() {
['Word', 'Excel'].map(function(title) {
var menuItem = document.querySelector("#ReportViewer1 a[title='" + title + "']")
.parentNode;
menuItem.parentNode
.removeChild(menuItem);
});
});
}
您可以使用一个div在那个保存按钮并设置其属性如下图所示
<div style="
background-color: white;
z-index: 100;
height: 61px;
position: absolute;
padding-left: 500;
padding-left: 36px;
margin-left: 370px;
opacity: 0.5;
"></div>
现在的问题是不是新的,但也许对别人有同样的问题,我的回答是有用的,太。 在web.config
=> configuration
=> configSections
部分粘贴Telerik的报告新的配置,如果你不具备:
<section
name="Telerik.Reporting"
type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting, Version=11.0.17.118, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"
allowLocation="true"
allowDefinition="Everywhere"/>
用你的优化版本Telerik的的version
属性。 你可以找到Solution Explorer
=> your project name
=> References
=> TelerikReporting
=> Properties
,并在<configrations>
体,贴:
<Telerik.Reporting>
<extensions>
<render>
<extension name="RTF" visible="false">
</extension>
<extension name="PDF" visible="false">
</extension>
<extension name="CSV" visible="false">
</extension>
<extension name="IMAGE" visible="false">
</extension>
<extension name="MHTML" visible="false">
</extension>
<extension name="XPS" visible="false">
</extension>
</render>
</extensions>
</Telerik.Reporting>
在上面的代码我禁用任何类型的出口,除了Excel中。