Passer des paramêtres à Crystal report [Résolu]

Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Dernière intervention
3 mars 2009
- 12 déc. 2005 à 17:11 - Dernière réponse :
Messages postés
88
Date d'inscription
mardi 4 mai 2004
Dernière intervention
17 février 2008
- 5 janv. 2006 à 11:45
Bonjour

Sous VS 2005, comment passer des paramêtres à CR ?

j'ai utlisé plusieurs méthodes et aucune ne fonctionne :

méthode 1

oRpt = new
ReportDocument
();






oRpt.Load(
"C:\\projet\\rptetat1.rpt");


RVFacture.ReportSource =oRpt;


ParameterField chParametres = new ParameterField();


ParameterFields tbParametres = new ParameterFields();


ParameterDiscreteValue dvValeur = new ParameterDiscreteValue();


// nom champ parametre est chCopie
chParametres.ParameterFieldName = "chCopie";


dvValeur.Value = "COPIE";


chParametres.CurrentValues.Add(dvValeur);

tbParametres.Add(chParametres);

/ RVfacture est mon reportviewer


RVFacture.ParameterFieldInfo = tbParametres;

Méthode 2


oRpt =
new
ReportDocument();


oRpt.Load(
"C:\\projet\\rptetat1.rpt");


RVFacture.ReportSource =oRpt;



oRpt.SetParameterValue(
"chCopie",
"COPIE");

Méthode 3

oRpt = new
ReportDocument
();






oRpt.Load(
"C:\\projet\\rptetat1.rpt");


RVFacture.ReportSource =oRpt;



ParameterValues currentParameterValues =
new
ParameterValues();



ParameterDiscreteValue parameterDiscreteValue =
new
ParameterDiscreteValue();


parameterDiscreteValue.Value =
"COPIE";


currentParameterValues.Add(parameterDiscreteValue);



ParameterFieldDefinitions parameterFieldDefinitions = oRpt.DataDefinition.ParameterFields;



ParameterFieldDefinition parameterFieldDefinition = parameterFieldDefinitions[
"chCopie"];


parameterFieldDefinition.ApplyCurrentValues(currentParameterValues);



Quelqu'un peut me dire koi faire ?

merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Dernière intervention
22 mai 2012
- 13 déc. 2005 à 09:55
3
Merci
OK, et il faudrait ajouter le paramètre avant d'affecter ton rapport à ton objet RVFacture ?
Comme ça :

oRpt = new ReportDocument
();
oRpt.Load( "C:\\projet\\rptetat1.rpt"
);
oRpt.SetParameterValue( "chCopie", "COPIE"
);
RVFacture.ReportSource = oRpt;

Ca change quelque-chose ?

Merci LUDINSKI 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de LUDINSKI
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Dernière intervention
22 mai 2012
- 13 déc. 2005 à 05:34
0
Merci
Salut

Moi j' utilise la méthode 2 ( qui fonctionne très bien ! ) donc je m'demande :

As-tu bien ajouté "chCopie"
dans la liste de paramètres de ton rapport ?
( pas par le code, mais à travers le mode design !!! )
Commenter la réponse de LUDINSKI
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Dernière intervention
3 mars 2009
- 13 déc. 2005 à 09:28
0
Merci
oui je l'ai bein ajouté, il apparait dans ma liste ParameterField.
j'ai laisser les paramètres : type string, et discreteValue
Commenter la réponse de cs_titi66
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Dernière intervention
3 mars 2009
- 13 déc. 2005 à 10:37
0
Merci
Merci

Dans cet ordre là ça marche

oRpt =
new
ReportDocument();


oRpt.Load(
"C:\\projet\"rptetatt1..rpt");


oRpt.SetDataSource(dsResultat);


oRpt.SetParameterValue(
"chCopie",
"");


RVFacture.ReportSource = oRpt;
Commenter la réponse de cs_titi66
Messages postés
88
Date d'inscription
mardi 4 mai 2004
Dernière intervention
17 février 2008
- 3 janv. 2006 à 09:59
0
Merci
J'ai un léger problème avec cette méthode. Lors de l'éxécution de l'impression, crystal semble ouvrir une fenêtre qui demande les paramètres (que je passe pourtant comme indiqué au dessus). Je me démène depuis plusieurs jours dessus mais sans résultat. J'ai spsé les champs en range dans un dernier espoir. En vain. Ca m'ennui, je trouve crystal vraiment barbare et je ne vois pas d'autre solution pour imprimer. Quelqu'un aurait la réponse à mon problème ?

L'homme était,est et sera un éternel apprenti
Commenter la réponse de psycho81
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Dernière intervention
3 mars 2009
- 4 janv. 2006 à 11:59
0
Merci
Bonjour

As tu bien mis les instructions dans le meme ordre,lorsque j'ai eu des soucis, je me suis rendu compte que cela etait important...
J'avais inversé les 3° et 4° ligne et il m'affichait une fenetre pour saisir mon paramètre à l'exécution.

oRpt = new
ReportDocument();
oRpt.Load(
"C:\\projet\"rptetatt1..rpt");


oRpt.SetDataSource(dsResultat);


oRpt.SetParameterValue(
"chCopie",
"");


RVFacture.ReportSource = oRpt;
Commenter la réponse de cs_titi66
Messages postés
88
Date d'inscription
mardi 4 mai 2004
Dernière intervention
17 février 2008
- 5 janv. 2006 à 11:45
0
Merci
Autant pour moi, c'est un paramètre manquant que j'avais oublié de passer et crystal me demandait ce qu'il devrait contenir. Simple omission de ma part. Je vois cependant que crytal fait des choses ...; bizarre. Si le dataset est mis avant les paramètres, le rapport plante. Je trouve çà particulièrement étrange et ... compliqué pour un produit qui coute une somme relativement rondelette. Déjà avec une aversion pour Crystal en VB6, ma deception est encore plus grande dans la .NET.

Désolé de faire mon boulet mais je suis tout de même content que mon rapport marche

L'homme était,est et sera un éternel apprenti
Commenter la réponse de psycho81

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.