我有一个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");
}
}
先谢谢你的帮助:) 专利
P.S。为了简洁起见,我已经排除了创建列的方法。
答案 0 :(得分:0)
此处没有足够的信息来提供确切的原因/解决方案,但是一个建议(实际上更多的解决方法)是在用户导出时始终设置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");
}
}