2010-11-23 20 views
2

Je suis nouveau dans la partie sous-rapport de ssrs. J'ai mis en place du code qui fonctionne bien avec les tables standard et les contrôles matrix et tablix mais n'a pas pu charger le sous-rapport. Je reçois toujours le mêmeSSRS Sous-rapport VS2010 récupération de données échouée pour le sous-état

Quelqu'un a-t-il un exemple de code d'un sous-rapport fonctionnant avec Visual Studio 2010? Message d'erreur "récupération de données échouée pour le sous-rapport"

Mon code ressemble à ceci bien que j'ai essayé un tas de scénarios différents pour essayer de passer les données dans le sous-rapport.

private void LoadReport(string reportName) 
    { 
     reportViewer1.Clear(); 
     //http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/b039e765-3cc8-43ec-ae67-14b9656bc981 
     reportViewer1.Reset(); 
     // Set Processing Mode 
     reportViewer1.ProcessingMode = ProcessingMode.Local; 

     // Set RDL file 
     reportViewer1.LocalReport.ReportPath = reportName+".rdlc"; 

    } 

    public void LoadReport(IEnumerable products, string reportName, string dataSourceName) 
    { 
     LoadReport(reportName); 

     ReportParameter myParam = new ReportParameter("ReportParameter1", st.ToString() + " TO " + et.ToString()); 
      reportViewer1.LocalReport.SetParameters(new ReportParameter[] { myParam }); 

     reportViewer1.LocalReport.DataSources.Add(
      new ReportDataSource(dataSourceName, products)); 


     reportViewer1.LocalReport.DataSources.Add(
      new ReportDataSource(dataSourceName+"Subreport", products)); 

     // Process and render the report 
     reportViewer1.RefreshReport(); 
    } 

Répondre

3

De Jin Chen Microsoft, ModeratorUsers Médailles la réponse sur le forum msdn http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/5d2aed0b-ea69-4cbb-b3c4-b306a48fbc30

MERCI BEAUCOUP !!!

J'ai eu ce code, mais j'avais l'événement ajouté dans le concepteur de forme que j'ajouté par la fenêtre de propriété d'événement GUI chose

et suivant votre exemple je me suis déplacé cette ligne

reportViewer1.LocalReport.SubreportProcessing + = new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler (this.reportViewer1_suberport1); De la forme.designer.cs à après le rapport d'actualisation comme vous l'avez fait dans votre exemple et MAINTENANT IL FONCTIONNE !!!

Merci actions de grâces impressionnant, ouf

reportViewer1.RefreshReport(); reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport1);

private void reportViewer1_suberport1(object sender, SubreportProcessingEventArgs e) 
    { 

     ReportDataSource r=reportViewer1.LocalReport.DataSources[0]; 
     e.DataSources.Add(r); 

    } 

1

Je n'ai pas trouvé que le déplacement du gestionnaire d'événements à un autre endroit a contribué à cette erreur particulière. Pour cette erreur, ce qui est corrigé, vous devez vous assurer que votre sous-rapport peut fonctionner sans erreur. PUIS, attachez-le au rapport principal. Dans mon cas, mon rapport utilisait un ensemble de données différent dans l'EDI que je ne le fournissais dans le code.