我在我的 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/