65.9K
CodeProject is changing. Read more.
Home

RDLC Report Hide Export Option

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0 vote)

Oct 11, 2013

CPOL
viewsIcon

14414

protected void ReportViewer1_PreRender(object sender, EventArgs e) {DisableFormat(ReportViewer1, "Pdf"); }protected void

protected void ReportViewer1_PreRender(object sender, EventArgs e)

{

DisableFormat(ReportViewer1,
"Pdf");

}

protected void DisableFormat(ReportViewer viewer, string formatName)

{

const System.Reflection.BindingFlags Flags =System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance;

System.Reflection.FieldInfo m_previewService = viewer.LocalReport.GetType().GetField("m_previewService", Flags);

System.Reflection.MethodInfo ListRenderingExtensions = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags);

Object previewServiceInstance = m_previewService.GetValue(viewer.LocalReport);

IList extensions = (IList)ListRenderingExtensions.Invoke(previewServiceInstance, null); System.Reflection.PropertyInfo name = extensions[0].GetType().GetProperty("Name", Flags);

//Object extension;

 

foreach( Object extension in extensions)

{

if (String.Compare(name.GetValue(extension, null).ToString(), formatName, true) == 0 )

{

System.Reflection.
FieldInfo m_isVisible = extension.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);

System.Reflection.FieldInfo m_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;

}

}

}