bonjour,

J'ai réussi à créer mon graphique exemple. Cela marche bien. Cependant, j'ai plusieurs rapports (fichier rdlc) et les graphique doivent se charger dynamiquement. L'avantage est que les paramètres sont tjs les mêmes. J'en ai 3.

Je cherche donc sur google comment passer des paramètres par code. Voici le tuto que j'ai exploité :

http://odelmotte.developpez.com/tuto...g/?page=page_6

Plus communément, le code qui nous intéresse ici est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
List<ReportParameter> par = new List<ReportParameter>();
ReportParameter p = new ReportParameter("saleid","43660");
par.Add(p);
this.reportViewer1.ServerReport.SetParameters(par);
 
this.reportViewer1.RefreshReport();

J'ai donc appliquer à mon exemple à moi et cela donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
rvGraf.ProcessingMode = ProcessingMode.Remote;
rvGraf.ServerReport.ReportServerUrl = new Uri("http://dy1sk099/ReportServer/e-stats/",true);
        //rvGraf.ServerReport.ReportPath = @"_cartes_identites\rapports\";

        // Charger le bon rapport
        switch (oGraph.IdOnglet)
        {

            case 4:
                rvGraf.ServerReport.ReportPath += "TpsAllumage.rdlc";
                break;

            case 6:
                rvGraf.ServerReport.ReportPath += "Sanitaire.rdlc";
                break;

            case 11:
                rvGraf.ServerReport.ReportPath += "ConsoGaz.rdlc";
                break;

            default:
                rvGraf.ServerReport.ReportPath = "";
                break;

        }

        // Initialisation des paramètres
        List<ReportParameter> par = new List<ReportParameter>();

        // Définition du paramètre contrat
        ReportParameter oContrat = new ReportParameter("IdContrat", oGraph.IdContrat.ToString());
        par.Add(oContrat);

        // Définition du paramètre Modele
        ReportParameter oModele = new ReportParameter("Modele", oGraph.Modele.ToString());
        par.Add(oModele);

        // Définition du paramètre Réinit
        ReportParameter oReinit = new ReportParameter("IdReinit", oGraph.IdReinit.ToString());
        par.Add(oReinit);

        // Ajout des paramètres
        rvGraf.ServerReport.SetParameters(par);

        // Actualisation du rapport
        rvGraf.ServerReport.Refresh();
        rvGraf.DataBind();
Il plante sur l'erreur soulignée et me donner message d'erreur :

{"Le client a trouvé '' comme type de contenu de la réponse, alors qu'il attendait 'text/xml'.\r\nÉchec de la requête avec une réponse vide."}
Je n'ai rien trouvé sur google concernant cette erreur


Je met cette solution en place du coup :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  rvGraf.ProcessingMode = ProcessingMode.Local;
 
        //rvGraf.LocalReport.ReportServerUrl = new Uri("http://dy1sk099/ReportServer/e-stats/",true);
        rvGraf.LocalReport.ReportPath = @"_cartes_identites/rapports/";
 
        // Charger le bon rapport
        switch (oGraph.IdOnglet)
        {
 
            case 4:
                rvGraf.LocalReport.ReportPath += "TpsAllumage.rdlc";
                break;
 
            case 6:
                rvGraf.LocalReport.ReportPath += "Sanitaire.rdlc";
                break;
 
            case 11:
                rvGraf.LocalReport.ReportPath += "ConsoGaz.rdlc";
                break;
 
            default:
                rvGraf.LocalReport.ReportPath = "";
                break;
 
        }
 
        // Initialisation des paramètres
        List<ReportParameter> par = new List<ReportParameter>();
 
        // Définition du paramètre contrat
        ReportParameter oContrat = new ReportParameter("IdContrat", oGraph.IdContrat.ToString());
        par.Add(oContrat);
 
        // Définition du paramètre Modele
        ReportParameter oModele = new ReportParameter("Modele", oGraph.Modele.ToString());
        par.Add(oModele);
 
        // Définition du paramètre Réinit
        ReportParameter oReinit = new ReportParameter("IdReinit", oGraph.IdReinit.ToString());
        par.Add(oReinit);
 
        // Ajout des paramètres
        rvGraf.LocalReport.SetParameters(par);
 
        // Actualisation du rapport
        rvGraf.LocalReport.Refresh();
        rvGraf.DataBind();
Et l'erreur cette fois ci est :


{L'évaluation des fonctions est désactivée, car une précédente évaluation des fonctions a dépassé le délai d'attente autorisé. Vous devez continuer l'exécution pour réactiver l'évaluation des fonctions.}


Comme vous l'aurez compris, le but étant d'avoir une seule page graphique.aspx et charger le graphique en fonction de la demande de l'utilisateur.

J'ai détaillé un maximum pour vous éclairer en espérant que vous avez une solution...