禁用以EXCEL格式导出RDLC报告

时间:2011-08-22 06:09:26

标签: c# asp.net rdlc

C# - 如何禁用以EXCEL格式导出RDLC报告

enter image description here

只想隐藏下拉列表中的“Excel”选项。

2 个答案:

答案 0 :(得分:2)

您可以使用脚本下方的jquery轻松完成此操作。

$(document).ready(function () {
     $("a[title='Excel']").parent().hide();  // Remove from export dropdown.
     $("a[title='MHTML (web archive)']").parent().hide();  
     $("a[title='TIFF file']").parent().hide();  
});

注意: Excel,PDF,Word区分大小写。因此,您可以隐藏任何您想要的选项,而不会在后面的代码中弄乱代码。

答案 1 :(得分:1)

在网上找到它

#region "Disable Excel Export"
private void CustomizeRV(System.Web.UI.Control reportControl)
{

    foreach (System.Web.UI.Control childControl in reportControl.Controls)
    {

        if (childControl.GetType() == typeof(System.Web.UI.WebControls.DropDownList))
        {

            System.Web.UI.WebControls.DropDownList ddList = (System.Web.UI.WebControls.DropDownList)childControl;

            ddList.PreRender += new EventHandler(ddList_PreRender);

        }

        if (childControl.Controls.Count > 0)
        {

            CustomizeRV(childControl);

        }

    }

}


//Dropdown prerender event
//You can hide any option from ReportViewer( Excel,PDF,Image )

void ddList_PreRender(object sender, EventArgs e)
{
    System.Web.UI.WebControls.DropDownList ddList = (System.Web.UI.WebControls.DropDownList)sender;
    System.Web.UI.WebControls.ListItemCollection listItems = ddList.Items;

    if ((listItems != null) && (listItems.Count > 0) && (listItems.FindByText("Excel") != null))
    {
        foreach (System.Web.UI.WebControls.ListItem list in listItems)
        {
            if (list.Text.Equals("Excel"))
            {
                list.Enabled = false;
            }
        }
    }
}
#endregion