Crystal Report ? Paramètre [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005
-
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
Bonjour,

Alors voila j'ai comme vous vous en doutez un petit problème.
Je dois faire une impression de license via un programme qu'on developpe actuellement.
L'impression a un format papier special.
Je voudrais donc faire ma sortie via un etat ou qqch de similaire.
Vu qu'on a des licenses crystal report, j'ai cherché dans cette solution là. Le seul problème viens que je ne veux pas accéder à la DB et la remplir via une classe que mon collegue me donnerais avec les informations.
J'ai essayé de jouer avec les SetParameterValue et des parameters Fields mais il m'affiche un ecran qd je lance mon rapport pour entrer les données.
J'ai beau chercher partout, je ne trouve rien sur le sujet.
Est-ce que c'est possible ce que j'essaye de faire (créer un état ou je rentrerais mes valeurs à la main) ? sans passer par l'ecran pour entrer les données ?
Je developpe en c# VS.NET2003.

Merci

13 réponses

Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
en fait je pensais que plutot que de remplir ton dataset avec des donnes dce la table, tu pourrais remplir ton dataset avec tes parametres....
et aller piocher tes parametres dans le crystal report dans le dataset ainsi creer....

le dataset servirait de moyen de transfert de param :o)))
voila pour l'idee...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005

Ca y est ! :)
En passant par DataRow via ce code, ca passe nickel !
Je vais pouvoir commencer mon prototype :)

Un GRAND merci Arthenius pour ton aide

Dataset1 ds = new Dataset1();

DataRow NewRow = ds.Tables["Personne"].NewRow();
NewRow["Nom"]="a";
NewRow["Prenom"]="b";
NewRow["Adresse"]="c";
NewRow["CodePostal"]="7500";
NewRow["Localite"]="Tournai";

ds.Tables["Personne"].Rows.Add(NewRow);

CrystalReport1 etat = new CrystalReport1();
etat.SetDataSource(ds);
etat.Refresh();
crystalReportViewer1.ReportSource=etat;
crystalReportViewer1.Refresh();

ds.Clear();
ds.Dispose();
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
tu peux jeter un oeuil sur cette discussion que j'ai eu et t'en inspirer peut etre... :
http://www.csharpfr.com/forum.v2.aspx?ID=329926

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005

Merci de ta reponse, je viens de parcourir le post et regarder ton lien mais je voudrais vraiment faire qqch de totalement independant à la Database

"pour ce qui est de créer dynamiquement un état....
mpfffff...ca doit etre possible....
mais ca doit etre galere...."
je veux juste remplir les valeurs :(

il y a p-e qqch de bcp plus facile que Crystal Report dans VS 2003 pour imprimer une license contenant juste qq champs sur un format de papier exotique ?

Merci d'avance
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005

Tiens oui ca m'a l'air mm une excellent idée
(La prog ca se desapprend plus vite que ca s'apprend :/)
vu que je suis encore assez debutant je vais validé le post mais en cas de problème, je reposterais :)

Merci bcp en tout cas
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
lol :o)))

pas de prob...
mais ca devrait marcher comme ca :o)))

bon courage...

@+

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Arthenius, expert Crystal Report :-p

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
ben apres 1 an 1/2 dessus ...
ca aide :o))))

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005

Alors voila, j'ai testé et la solution m'a l'air très bien mais je me galère au niveau de la syntaxe :/

Dataset1 ds = new Dataset1();

Dataset1.PersonneRow MyRow = ???;

MyRow.Nom="A";
MyRow.Prenom="B";
MyRow.Adresse="C";
MyRow.CodePostal="D";
MyRow.Localite="E";

ds.Personne.AddPersonneRow(MyRow);

CrystalReport1 etat = new CrystalReport1();
etat.SetDataSource(ds);
etat.Refresh();
crystalReportViewer1.ReportSource=etat;
crystalReportViewer1.Refresh();

ds.Clear();
ds.Dispose();


je n'arrive pas à declarer ma variable MyRow :/
Je suis ds la bonne voie ou pas du tout :) ?

merci ;)
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
pour la creation du dataset refere toi a ca :
http://www.csharpfr.com/code.aspx?id=26857

c un bon exemple...
de plus en creant ton dataset comme ca il sera visible depuis crystal (ce qui n'est pas le cas si tu creer ton dataset par prog...)

par contre apres tu n'a plus qu'a remplir ton dataset comme tu le fait par ton code....

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
8
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2005

j'avais justement utiliser cette source +/-
j'avais bien créer un dataset via fichier et tout
mais je bloque tjs sur :

MonDataSet.MaTableDuDataSetRow Myrow = MonDataSet.MaTableDuDataSet.NewMonDataSet.MaTableDuDataSetRow();

j'aurais dit sur ce modèle là :
Dataset1.PersonneRow MyRow = Dataset1.Personne.NewDataset1.PersonneRow();
mais erreur à la compilation a propos du NewDataset1
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
arf fo que je fasse une test parcque la je vois pas...

mais tu dois pas etre loin de la soluce...
en regle general je fais :

DataRow NewRow = ds.Tables["T_USER"].NewRow();
ds.Tables["T_USER"].Rows.Add(NewRow);


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
de rien :o)))

valide aussi ton dernier post...ca servira au presse :o)))

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."