2009-06-25 19 views
2

私はユーザ入力に基づいて列を動的に生成するradgridを持っています。グリッドにデータが入力されると、ExcelまたはWordにエクスポートするオプションがあります。しかし、ユーザーがページの書式を保持したい場合、データはエクスポートされません。しかし、ユーザーがページングを無視することを選択した場合、すべて正常に動作します。RadGrid export to excel

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

正確な原因や解決策を提供するには十分な情報がありませんが、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"); 
     } 
    }