RDLC 报告隐藏导出选项





0/5 (0投票)
protected void ReportViewer1_PreRender(object sender, EventArgs e) {DisableFormat(ReportViewer1, "Pdf"); }
受保护的 voidReportViewer1_PreRender(objectsender,EventArgse)
{
DisableFormat(ReportViewer1,"Pdf");}
受保护的 voidDisableFormat(ReportViewerviewer,字符串formatName){
constSystem.Reflection.BindingFlagsFlags =System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance;System.Reflection.FieldInfom_previewService = viewer.LocalReport.GetType().GetField("m_previewService", Flags);
System.Reflection.MethodInfoListRenderingExtensions = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags);对象previewServiceInstance = m_previewService.GetValue(viewer.LocalReport);
IListextensions = (IList)ListRenderingExtensions.Invoke(previewServiceInstance,null);System.Reflection.PropertyInfoname = extensions[0].GetType().GetProperty("Name", Flags);//Object extension;
foreach( 对象extensioninextensions)
{
if (字符串.Compare(name.GetValue(extension,null).ToString(), formatName,true) == 0 ){
System.Reflection.FieldInfom_isVisible = extension.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);System.Reflection.FieldInfom_isExposedExternally = extension.GetType().GetField("m_isExposedExternally", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
m_isVisible.SetValue(extension,false);m_isExposedExternally.SetValue(extension,false) ;
break;}
}
}