2009-06-25 9 views
2

J'ai un radgrid qui génère des colonnes dynamiquement en fonction de l'entrée de l'utilisateur. Une fois la grille remplie, l'utilisateur a la possibilité d'exporter vers Excel ou Word. Toutefois, lorsque l'utilisateur souhaite conserver le formatage de la page, aucune donnée n'est exportée. Mais si l'utilisateur choisit alors d'ignorer la pagination, tout fonctionne correctement.Export RadGrid vers Excel

Il semble donc que si la propriété radgrid "AutoGenerateColumns" est définie sur false et que "IgnorePaging" est également false, les données ne sont pas exportées.

Quelqu'un d'autre a ce problème ou est-ce que je suis en train de regarder quelque chose?

Voici les méthodes qui permettent de configurer et appellent l'exportation:

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

Merci d'avance pour l'aide :) Pat

post-scriptum J'ai exclu la méthode qui crée les colonnes pour le bien de Bravity.

Répondre

0

Il n'y a pas assez d'informations ici pour fournir une cause/solution exacte, mais une suggestion (vraiment plus d'une solution de contournement) consiste à toujours définir IgnorePaging lorsque l'utilisateur exporte. Voici un exemple de code:

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