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 i は、勇敢さのために列を作成するメソッドを除外しました。

4

1 に答える 1

0

正確な原因/解決策を提供するのに十分な情報はここにはありませんが、1 つの提案 (実際にはより多くの回避策) は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 に答える