c# - 导出到 excel 的 RadGrid telerik 问题

标签 c# asp.net .net telerik

我在我的 MasterTableView 中添加了以下行:

<CommandItemSettings ShowExportToWordButton="true" ShowExportToExcelButton="true" ShowExportToCsvButton="true" />

但是当我点击它时,会出现正在加载的 div,然后刷新网格上的数据,没有其他任何事情发生。没有“保存文件”窗口。

我错过了什么吗?

最佳答案

在Grid前添加如下代码:

<script type="text/javascript">
        function onRequestStart(sender, args)
        {
            if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
                    args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
                    args.get_eventTarget().indexOf("ExportToCsvButton") >= 0)
            {
                args.set_enableAjax(false);
            }
        }
    </script>

    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <ClientEvents OnRequestStart="onRequestStart" />
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

后面的代码添加下面的代码:

protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
    if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToExcelCommandName ||
            e.CommandName == Telerik.Web.UI.RadGrid.ExportToWordCommandName ||
            e.CommandName == Telerik.Web.UI.RadGrid.ExportToPdfCommandName ||
            e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName)
    {
        gridResult.ExportSettings.IgnorePaging = true;
        gridResult.ExportSettings.OpenInNewWindow = true;
        if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToExcelCommandName)
            gridResult.MasterTableView.ExportToExcel();
        else if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToWordCommandName)
            gridResult.MasterTableView.ExportToWord();
        else if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName)
            gridResult.MasterTableView.ExportToCSV();
        else if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToPdfCommandName)
            gridResult.MasterTableView.ExportToPdf();

    }
}

引用:http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/exporting/defaultcs.aspx

关于c# - 导出到 excel 的 RadGrid telerik 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890916/

相关文章:

c# - 我们可以设置面板背景图像的不透明度吗?

c# - 在网页中嵌入 .Net C#?

c# - ienumerable <string> 到字典 <string, int>

c# - 检测用户何时从使用 EmailComposeTask 返回?

javascript - 使用 JQuery 的登录页面

asp.net - 如何设置高度自动 CSS 属性?

asp.net - 如何加密 ASP.NET 4.0 Web.Config?

c# - 使用 Microsoft.HttpClient 和 HttpContentExtensions 的通用 POST 请求

c# - 最好将错误代码/消息保存在数据库或字典中?

c# - 什么是 Visual Studio SDK 中 VirtualSnapshotSpan 中的虚拟空间