2

我有一个 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");
        }
    }

在此先感谢您的帮助:) 帕特

PS我已经排除了为勇敢而创建列的方法。

4

1 回答 1

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");
        }
    }
于 2013-03-04T18:56:56.570 回答