Bonjour,
Je développe actuellement une application de reporting avec un projet Visual Studio de type « Site web des rapports ASP.NET ». Mon projet est composé d’un rapport (fichier .rdlc), d’un ReportViewer dans ma page Default.aspx et d’une SqlDataSource reliée au ReportViewer.
La SqlDataSource récupère des données via une requête SQL au chargement de la page. Dans le cas ou je ne fait aucune modification, le rapport et les données sont bien affichées.
Cependant, si je modifie les DataSources contenu dans ReportViewer.LocalReport.DataSources, que ce soit un ajout ou une suppression d’un DataSource, au moment ou la page web se lance, la structure du ReportViewer s’affiche avec une animation de chargement. Cependant les données ne s’affichent pas et l’animation de chargement tourne sans fin.
Même dans le cas ou j’extrais le DataSource généré de base au chargement, et que je le ré insert, sans le modifier, dans la collection ReportViewer.LocalReport.DataSources, la page web bloque sur l’animation de chargement.
Je n’ai aucun message d’erreur.
En gros, si je touche a rien ça marche, si je vide la collection DataSources j'ai bien le message "DataSource vide" et si j'inserts moi même un DataSource la page web se lance bien mais bloque sur le chargement des données dans le ReportViewer.
Ce code récupère la référence du DataSource stocké dans la collection DataSources, pour ensuite vider cette collection et réinsérer le DataSource d'origine. Dès que la collection est modifiée, le chargement de la page bloque.
D'après le MSDN, j'utilise la bonne méthode et pourtant...
Merci d’avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ReportDataSource rds; rds = ReportViewer1.LocalReport.DataSources[0]; //ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.RemoveAt(0); ReportViewer1.LocalReport.DataSources.Add(rds); ReportViewer1.LocalReport.Refresh()
Partager