1

J'utilise Visual Studio 2010 et C# pour créer une application qui interroge deux bases de données, puis génère un rapport comportant également un sous-rapport. Le rapport principal transmet trois paramètres au sous-rapport. Le sous-rapport arrivait en blanc sur tous les enregistrements du rapport principal. Pour cette raison, j'ai défini NoRowsMessage sur "Nothing Returned" pour m'assurer que le sous-rapport était en effet affiché. Maintenant, au lieu d'être vide, le sous-rapport renvoie mon message. J'ai testé le tableadapter en prévisualisant les données et en entrant des valeurs pour les paramètres. Les résultats apparaissent bien. Ma conjecture est que pour une raison quelconque les paramètres ne passent pas correctement au sous-rapport. J'ai essayé de régler les paramètres pour autoriser les valeurs nulles et aussi pour autoriser les valeurs vides. Rien ne change. J'ai défini le LocalReport.SubreportProcessing à un nouveau SubreportProcessingEventHandler. J'ai défini la source de données dans ce gestionnaire d'événement pour le sous-rapport. Je ne sais pas ce que je manque. Toutes les suggestions aideraient.Le sous-rapport ne renvoie aucun résultat

Voici le code du formulaire principal

private void (object sender, EventArgs e) {JointAgreement_Load // TODO: Cette ligne de charge des données de code dans la table la 'termLookup.ACADEMICCALENDAR'. Vous pouvez déplacer, ou le supprimer, au besoin. this.aCADEMICCALENDARTableAdapter1.Fill (this.termLookup.ACADEMICCALENDAR); // TODO: Cette ligne de code charge les données dans la table 'yearLookup.ACADEMICCALENDAR'. Vous pouvez déplacer, ou le supprimer, au besoin. this.aCADEMICCALENDARTableAdapter.Fill (this.yearLookup.ACADEMICCALENDAR); }

private void button1_Click(object sender, EventArgs e) 
    { 
     string year = comboBox1.Text; 
     string term = comboBox2.Text; 
     Classes.Functions.GetStudentList(year, term); 
     List<ReportParameter> paramList = new List<ReportParameter>(); 
     paramList.Add(new ReportParameter("Year", year, false)); 
     paramList.Add(new ReportParameter("Term", term, false)); 
     reportViewer1.LocalReport.SetParameters(paramList); 
     reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SetSubDataSource); 
     this.joint_Agreement_InfoTableAdapter.Fill(this.jointAgreementInfo.Joint_Agreement_Info); 
     this.reportViewer1.RefreshReport(); 
    } 

    public void SetSubDataSource(object sender, SubreportProcessingEventArgs e) 
    { 

     e.DataSources.Add(new ReportDataSource("StudentDetail", tRANSCRIPTDETAILBindingSource)); 

    } 
+0

Pouvez-vous fournir du code? – oGJo

+0

J'ai ajouté du code. – mister

+0

Il y a beaucoup de code dans la classe Functions. Je prends des informations d'une base de données et les traite et place les résultats dans une autre table de la base de données. Le rapport est basé sur la nouvelle table et une autre table dans une autre base de données. – mister

Répondre

0

J'ai effectivement trouvé une réponse à ma propre question. Je ne savais pas ce qui n'allait pas, alors je ne savais pas quelles questions poser. J'ai trouvé la réponse ici sur stackoverflow au lien suivant. Passing Report Parameters to SubReport in VS 2010 RDLC Merci à tous ceux qui ont essayé de vous aider.

Questions connexes