首先aspx页面的ReportView增加OnPreRender事件
OnPreRender="ReportViewer1_PreRender"
然后aspx.cs中增加以下代码
protected void ReportViewer1_PreRender(object sender, EventArgs e)
{
if (Request.QueryString["type"] == "Delivery")
{
//默认导出格式有三种 Excel,WORD,PDF。此时设置只能导出PDF
foreach (RenderingExtension extension in ReportViewer1.LocalReport.ListRenderingExtensions())
{
if (extension.Name == "Excel" || extension.Name == "WORD")
{
FieldInfo fi = extension.GetType().GetField("m_isVisible", BindingFlags.Instance | BindingFlags.NonPublic);
fi.SetValue(extension, false);
}
}
}
}
想只显示Word或者Excel相同,过滤掉其他的格式即可