2009-12-17 4 views
1

Je souhaite configurer de manière dynamique le ReportViewer lors de l'exécution sur une page de formulaire Web. Mon ReportViewer ressemble à ceci sur la page ASPX ...Configuration dynamique de ReportViewer

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" 
        Font-Size="8pt" Height="90%" 
        Width="100%" OnReportError="ReportViewer1_ReportError"> 
</rsweb:ReportViewer> 

Ma classe ressemble à ceci ....

namespace S43G.CV 
{ 
    [Serializable] 
    public class CaseLoadForecastReportResultCV 
    { 
     public Int64 M3Fe { get; set; } 
     public Int64 M3Grad { get; set; } 
     public Int64 M6Grad { get; set; } 
     public Int64 M12Grad { get; set; } 
     public Int64 Total { get; set; } 
     public Int64 GroupPart { get; set; } 
     public Int64 Year { get; set; } 
    } 
} 

Dans le code derrière je fais ce qui suit pour exécuter le ReportViewer ...

// get a list from db 
List<CaseLoadForecastReportResultCV> answer = svyCaseBllHdl.GetCaseLoadForcastReport(userInput);  
// Reset the ReportViewer 
ReportViewer1.Reset(); 
ReportViewer1.LocalReport.Dispose(); 
ReportViewer1.LocalReport.DataSources.Clear(); 

// build the Report Data Source 
ReportDataSource rds = new ReportDataSource("S43G_CV_CaseLoadForecastReportResultCV", answer); 

// set new values for ReportViewer 
ReportViewer1.LocalReport.ReportPath = "S4_Reports/CaseLoadForecast.rdlc"; 
ReportViewer1.LocalReport.DataSources.Add(rds); 
ReportViewer1.LocalReport.Refresh(); 

L'erreur je reçois est la suivante:

Une instance de source de données n'a pas été fourni pour la source de données 'CaseLoadForecastReportResultCV'.

Toute aide serait formidable.

Répondre

1

Le nom de votre source de données dans votre RDLC est CaseLoadForecastReportResultCV, vous avez ajouté des éléments supplémentaires au début de son nom. Si vous venez de changer votre code à ce

ReportDataSource rds = new ReportDataSource("CaseLoadForecastReportResultCV", answer);

Il devrait fonctionner. RDLC est XML et facile à lire, vous pouvez lire la section datasources ou charger le rapport dans Visual Studio et avec le Report Designer concentré, allez dans le menu Rapport et choisissez DataSources pour voir tous les noms de vos sources de données.

+0

Cela fonctionne! Remerciements C- –