我有一个基于用户输入动态生成列的radgrid。填充网格后,用户可以选择导出到excel或word。但是,当用户希望保留页面格式时,不会导出任何数据。但是如果用户选择忽略分页,一切都会正常工作。
因此,如果radgrid属性"AutoGenerateColumns“被设置为false,并且"IgnorePaging”也被设置为false,那么数据就不会被导出。
其他人也有这个问题吗?或者是我忽略了什么?
以下是配置和调用导出的方法:
private void ConfigureReport(string strExportType)
{
switch (strExportType.ToLower())
{
case "excel":
RadGrid1.ExportSettings.FileName = "RadGridExportToExcel";
break;
case "word":
RadGrid1.ExportSettings.FileName = "RadGridExportToWord";
break;
}
RadGrid1.ExportSettings.IgnorePaging = this.cbxPaging.Checked;
RadGrid1.ExportSettings.ExportOnlyData = this.cbxFormat.Checked;
}
private void btnExcel_Click(object sender, EventArgs e)
{
if (this.UserProcess.SearchResults != null &&
this.UserProcess.SearchResults.Count > 0)
{
ConfigureReport("excel");
RadGrid1.MasterTableView.ExportToExcel();
}
else
{
this.lblError.Text = AAILocalization.GetLocaleText("Error:NoResultExport");
}
}提前感谢您的帮助:) Pat
另外,为了勇敢起见,我已经排除了创建列的方法。
发布于 2013-03-05 02:56:57
这里没有足够的信息来提供确切的原因/解决方案,但是有一个建议(实际上更多的变通方法)是在用户导出时始终设置IgnorePaging。下面是一些示例代码:
private void btnExcel_Click(object sender, EventArgs e)
{
if (this.UserProcess.SearchResults != null &&
this.UserProcess.SearchResults.Count > 0)
{
ConfigureReport("excel");
RadGrid1.MasterTableView.AllowPaging = false;
RadGrid1.PageSize = RadGrid1.Items.Count + 1;
RadGrid1.MasterTableView.ExportToExcel();
}
else
{
this.lblError.Text = AAILocalization.GetLocaleText("Error:NoResultExport");
}
}https://stackoverflow.com/questions/1045214
复制相似问题