Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

REPORTVIEWER EXEMPLE GÉNÉRATION DE RAPPORT EN VB


Information sur la source

Description

Cliquez pour voir la capture en taille normale
Voila une source RepportViewer qui peut être utile a certain.
La particularité de cette source est que le rapport est généré en vb
on peut donc lui donner les paramettres voulu et faire des recherches
dans une table SQL



 

Source

  • Imports System.Data
  • Partial Class _Default
  • Inherits System.Web.UI.Page
  • Dim ACT As clsTest
  • Dim SqlRequetes As String
  • Sub RapportSynthese_Afficher(ByVal NomRapport As String)
  • Dim ds As Data.DataSet = Donnees_Recuperer("dstest", NomRapport, SqlRequetes)
  • Rapport_Afficher(rvTest, NomRapport, ds)
  • End Sub
  • Sub Rapport_Afficher(ByRef RpV As Microsoft.Reporting.WebForms.ReportViewer, ByVal NomRapport As String, ByVal ds As DataSet)
  • ' paramettres du rapport exemple le bouton export visible ou non
  • 'RpV.ShowExportButton = False
  • 'RpV.ShowPrintButton = False
  • RpV.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local
  • 'Boucle sur les tables du dataset et liaison au rapport
  • RpV.LocalReport.ReportPath = NomRapport
  • RpV.LocalReport.DataSources.Clear()
  • Dim dt As Data.DataTable
  • For Each dt In ds.Tables
  • Dim rds As New Microsoft.Reporting.WebForms.ReportDataSource
  • rds.Name = ds.DataSetName & "_" & dt.TableName
  • rds.Value = dt
  • RpV.LocalReport.DataSources.Add(rds)
  • Next
  • RpV.LocalReport.Refresh()
  • End Sub
  • Private Function Donnees_Recuperer(ByVal NomDataSet As String, ByVal NomRapport As String, ByVal SqlRequetes As String) As Data.DataSet
  • Dim ds As New Data.DataSet(NomDataSet)
  • Dim da As New Data.SqlClient.SqlDataAdapter(ACT.cmd)
  • ACT.cmd.Parameters.Clear()
  • ACT.cmd.CommandText = SqlRequetes
  • 'Parametre de recherche par nom
  • ACT.cmd.Parameters.AddWithValue("@Nom", txbRecherche.Text & "%")
  • da.Fill(ds, "info_TBL") 'Nom de la table SQL info_TBL
  • 'Libération des ressources
  • da.Dispose()
  • 'Résultat
  • Return ds
  • End Function
  • Protected Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreLoad
  • 'on charge la class
  • ACT = Session("ACT")
  • End Sub
  • Protected Sub bntRecherche_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bntRecherche.Click
  • 'Commande SQL suivant la sélection des produits
  • ' On recherche les nom qui commence par la ou les lettres tappé et ont trie
  • SqlRequetes = "SELECT * " & _
  • "FROM info_TBL " & _
  • "WHERE Nom LIKE @Nom " & _
  • "ORDER BY Nom ASC"
  • ACT = Session("ACT")
  • 'On affiche le raport
  • RapportSynthese_Afficher("Report.rdlc")
  • End Sub
  • End Class
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page
    Dim ACT As clsTest
    Dim SqlRequetes As String

    Sub RapportSynthese_Afficher(ByVal NomRapport As String)

        Dim ds As Data.DataSet = Donnees_Recuperer("dstest", NomRapport, SqlRequetes)

        Rapport_Afficher(rvTest, NomRapport, ds)

    End Sub

    Sub Rapport_Afficher(ByRef RpV As Microsoft.Reporting.WebForms.ReportViewer, ByVal NomRapport As String, ByVal ds As DataSet)

        ' paramettres du rapport exemple le bouton export visible ou non
        'RpV.ShowExportButton = False
        'RpV.ShowPrintButton = False
        RpV.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local

        'Boucle sur les tables du dataset et liaison au rapport

        RpV.LocalReport.ReportPath = NomRapport
        RpV.LocalReport.DataSources.Clear()
        Dim dt As Data.DataTable
        For Each dt In ds.Tables

            Dim rds As New Microsoft.Reporting.WebForms.ReportDataSource

            rds.Name = ds.DataSetName & "_" & dt.TableName

            rds.Value = dt

            RpV.LocalReport.DataSources.Add(rds)

        Next

        RpV.LocalReport.Refresh()

    End Sub

    Private Function Donnees_Recuperer(ByVal NomDataSet As String, ByVal NomRapport As String, ByVal SqlRequetes As String) As Data.DataSet


        Dim ds As New Data.DataSet(NomDataSet)
        Dim da As New Data.SqlClient.SqlDataAdapter(ACT.cmd)

        ACT.cmd.Parameters.Clear()

        ACT.cmd.CommandText = SqlRequetes
        'Parametre de recherche par nom
        ACT.cmd.Parameters.AddWithValue("@Nom", txbRecherche.Text & "%")

        da.Fill(ds, "info_TBL") 'Nom de la table SQL info_TBL

        'Libération des ressources
        da.Dispose()

        'Résultat
        Return ds

    End Function

    Protected Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreLoad
        'on charge la class
        ACT = Session("ACT")

    End Sub

    Protected Sub bntRecherche_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bntRecherche.Click
        'Commande SQL suivant la sélection des produits

        ' On recherche les nom qui commence par la ou les lettres tappé et ont trie
        SqlRequetes = "SELECT * " & _
                           "FROM info_TBL " & _
                           "WHERE Nom LIKE @Nom " & _
                            "ORDER BY Nom ASC"


        ACT = Session("ACT")

        'On affiche le raport
        RapportSynthese_Afficher("Report.rdlc")
    End Sub

   
End Class

Conclusion

Le site comporte une base SQL pour exemple

ouvrer le site tapper "a" dans le texbox recherche par nom et lancez la recherche.
Vous pouvez voir le rapport ainsi que des liens sur les mails
avec des fonctions enfin voila je pense que ca peut etre utile.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de falstuff le 12/02/2008 01:58:28 9/10

Merci pour ce bout de code. ca m'a été trés utile. Quel galere sans avoir trouvé ton code. Je te met 9/10 car j'ai du l'adapté pour du winform ;-) je plaisante, c'est tout simplement on peut l'optimiser un peu plus
merci encore
@++

signaler à un administrateur
Commentaire de slyderkiller le 13/02/2008 22:28:03

Derien si tu as besion de plus de précision je suis a l'écoute

signaler à un administrateur
Commentaire de anthride le 04/05/2008 14:51:41

Merci pour votre exemple . cla m'a bien aidé pour demarrer mon reporting.

Par contre j'ai l'Erreur suivante:
ASP.NET viewstate has been disabled. The report viewer control requires that viewstat be enabled.

J' ai cette erreur seulement sur certaine page. Elle est assez explicite , mais apres plusieursd jour a rechercher dans les librairies et forums je ne saisie pas encore la corriger.

Si vous avez une Solution.
Cette erreur n'ayant aucun rapport avec votre exemple, je vousai treseconnaissant.

Merci Desvernes claude

signaler à un administrateur
Commentaire de slyderkiller le 04/05/2008 20:00:03

Bien comme ca je ne s'est pas. Elles ont quoi de particulier les pages ou il y a cette erreur?

Sans voir de code je te dirais de mettre EnableViewState a true sur l'instance de la page.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Pb Crystal Report et ASP [ par Klaudio ] Après chaque impression d'un rapport est rajouté une page blanche. Le rapport fonctionne très bien lorsqu'il est utilisé en VB, donc à priori pas de p rapport rdlc [ par SuperBouly ] bonjour, Petit problème : Peut-on écrire dynamiquement dans un rapport rdlc affiché dans un reportviewer au moment du chargement de la page? Filtrer un report asp/net2.0 [ par blowlagoon ] Bonjour,J'utilise un reportviewer pour afficher un raport.rdlc contenant une table et je souhaiterais filter dynamiquement les données du raport en fo ReportViewer et Panel [ par jubourbon ] Bonjour,Je souhaiterais integrés dynamiquemement au chargement, un reportviewer dans un panel.Pour cela je fais ca :Dim report <font color="#0 Le Viewer Web CrystalReport ne fonctionne pas : rapport OK, mais le reste bug [ par maitredede ] Bonjour,J'ai fais quelques pages ASP.NET, dont une avec un viewer de rapport Crystal.En dev (serveur intégré VS2008) ça marche nickel.En prod (serveur report viewer et code behind [ par mask66 ] Bonjour,Je cherche des informations sur le sujet depuis plus d'un jour et je suis bloqué, je ne trouve pas de ressources sur le net.J'aimerais savoir problème crystal report sous vs 2008 [ par polo86 ] Bonjour, Je débute avec les crystal report et je galère déjà. J'ai lu plusieurs tuto et la plupart utilise le code ci-dessous mais ça fonctionne pas p crystale report [ par fazni ] J'aimerais gérer des impressions depuis le web. Pour ce faire j'ai besoin de Crystal Report. mais comment utiliser je sais  comment afficher sur page Crystal Report sur feuille de données [ par BrunoCheyrou ] Bonjour, j'ai une page détaillée avec un Formview (details.aspx) qui récupère des données dans une base de données résumant toutes les informations co Cacher certaines valeurs sur étiquette de données Crystal Report [ par mtovitry ] Bonjour, J'ai créé un graphique sur Crystal Report et j'ai activé l'option "afficher étiquette de données". Mais lorsque ma valeur est à zéro, elle


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.