65.9K
CodeProject 正在变化。 阅读更多。
Home

RDLC 报告隐藏导出选项

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL
viewsIcon

14529

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;

}

}

}

© . All rights reserved.