RadGrid导出为ex​​cel

时间:2009-06-25 17:30:52

标签: export telerik radgrid

我有一个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。为了简洁起见,我已经排除了创建列的方法。

1 个答案:

答案 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");
        }
    }