C# et Crystal Report [Résolu]

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
- - Dernière réponse : Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 7 juil. 2005 à 09:19
Bonjour tout le monde,

On vient de me dire fait du Crystal Report !
mais je sais à peine ce que c'est ...

Ceci n'est donc pas vraiment une question mais reste une demande d'aide. J'aimerais savoir s'il est possible de manipuler des documents et états Crystal Report sans passer par le Crystal Report Designer. En fait je recherche des sources et tutoriaux. Donc si vous en connaissez merci d'avance.

J'ai déjà cherché dans les sources et forums des sites Codes-Sources mais n'y ai rien trouvé m'aidant. Mais de ceque j'ai vu CR est un outil qui pose problème à pas mal de personne. Je pense en cela que le regroupement de toutes les adresses sources d'information ici serait une bonne chose (le titre est je pense assez explicite et le thème choisi le plus approchant).

Peut être est il impossible de passer outre le CRDesigner, dans ce cas je vous remercie aussi de me le faire savoir.

(Toute information est la bien venue ici ;) )
Afficher la suite 

Votre réponse

20/30 réponses

Meilleure réponse
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
3
Merci
je check mes mails toutes les 2 minutes :o)))

sinon tu peux aussi essayer de faire un

//tu genere un dataset "genereique" qui se remplira en fonction de la structure de ta table et non de ce que tu as defini...

Dataset ds = new Dataset();

...
da.Fill(ds, "MATABLE");
....
etat.setDataSource(ds.Tables["MATABLE"]);
...
//ou kkchose du style...



autre truc juste pour info avant de faire un fill tu n'est pas oblige de faire un cn.open...

par defaut le dataadapter ouvre la connection si elle est fermee (et la referme apres traitement)
en clair le dataadapter te rend ton objet connection dans le meme etat que tu lui a fourni...

Arthenius

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

Merci Arthenius 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
3
Merci
essaie :

etat.setDataSource(ds);


Arthenius

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

Merci Arthenius 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Une petite demande supplémentaire (çamange pas de pain) :
si vous aviez aussi un schéma du modèle de classes des librairies associées à Crystal Report ça pourrait m'être d'un grande utilité.

Je suis moi même en ce moment en pleine recherche d'informations. Si je trouve kekchose d'intéressant j'inscrirais mes sources dans ce topic.
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
en voila un petit :

http://neo.developpez.com/tutos/CR/csharp/

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Merci beaucoup Arthenius.
Je vais parcourir ce tuto de ce pas.
Commenter la réponse de cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Me revla !

Alors j'ai utilisé le tutorial indiqué et ça fonctionne très bien.

Cependant j'ai essayé d'adapter cet exemple pour une source Sql et je n'y suis pas arrivé (on ne se moque pas merci).

Donc si vous avez des sources ou tuto pour CR et Sql ...

Autrement j'aimerais savoir s'il est possible de créer dynamiquement un état. J'enttends par là qu'un utilisateur pourrait créer des rapports à travers une appli personnelle.

Si vous avez des infos sur ça aussi (impossible ? source ? ...)merci d'avance.
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
je ne comprend pas ton pb avec sql....
dans le tuto il explique comment remplir un dataset a partir de access....faut faire la meme chose avec les objets sqlconnection, sqldataadapter etc...

seul la chaine de connection et les objets vont changer....
par rapport au tuto...

pour ce qui est de créer dynamiquement un état....
mpfffff...ca doit etre possible....
mais ca doit etre galere....
par contre souvent les societes achete crystal report, forme une personne la dessus...et avec la structure des tables de la base le gars peux créer des reports qui va attaquer direct la base et afficher les données sans autres interfaces...
ca ce fait...mais ca a un cout...
la version complete de crystal permet meme il me semble de creer des .exe qui sont en fait des rpt compilés....
qui se connecte a la base et affiche tout ce qui faut...

voilou...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Merci pour ta réponse rapide et toutes ces infos bienvenues.

Mon pb avec Sql est assez étrange et dois venir d'une tite erreur dans mon code (mais je sais pas où, autrement elle y serait plus).

En effet j'ai fait comme dans le tuto mais avec les objets SqlXXX.
Tout fonctionne à peu près bien sauf qu'une fois affiché on remarque qu'aucune données ne compose le Report. Il est vide.

La seule chose dont je suis sûr c'est que ma base n'est pas vide :)

Alors je m'y remet de suite ...
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
si tu veux tu peux poster ton code que j'y jette un oeuil....

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
C'est vraiment sympa de ta part. :shy)
Mais je vais d'abord essayer par moi même pendant une tite demi heure.
Commenter la réponse de cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Bon ben je ne serais pas arrivé à mes fins.
Alors voici mon code défectueux :

/* les varaibles globales de ma fenêtre */

IDbConnection cn;
IDbCommand cmd;
IDbDataAdapter da;
IDataReader dr;
// mon état Crystal Report créé comme dans le tuto
crDocumentDef etat;
// mon DataSet créé comme dans le tuto
dsDocumentDef ds;
// le Viewer de Document CR
CrystalReportViewer crvTest;

/* le constructeur de ma fenêtre */

public frmMain() {
InitializeComponent();
cn = new SqlConnection("server=monserve ; uid=moi ; pwd=monpwd ; database = mabase");
ds = new dsDocumentDef();
da = new SqlDataAdapter("SELECT * FROM TB_DOCUMENTDEF",(SqlConnection)cn);
cn.Open();
da.Fill(ds.TB_DOCUMENTDEF.DataSet);
cn.Close();
etat = new crDocumentDef();
etat.SetDataSource(ds);
crvTest.ReportSource = this.etat;
crvTest.Refresh();
ds.Clear();
ds.Dispose();
}

Voili voilou
J'espère que tu (ou n'importe qui de passage sur ce topic) pourras me renseigner ...

PS : Je rappelle le soucis. L'état est bien affiché mais ne contient aucune données alors que ma table n'est pas vide.
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
y faut pas mettre un :

etat.SetDataSource(ds.TB_DOCUMENTDEF.DataSet);

//Au lieu de etat.SetDataSource(ds); ????????


et pkoi utiliser des variables :
IDbConnection cn;
IDbCommand cmd;


plutot que
sqlconnection cn;
sqlcommand cmd;


l'autre souci peut venir de ta chaine de connection, un de mes sources permet de les tester sous sql serveur... :

http://www.csharpfr.com/code.aspx?id=23015

sinon si tu affiche dans un textbox le contenu d'une colonne de ton ds ????
ou au debuggueur tu vois des enregistrement dans ton ds ???

le ds correspond il a la structure de la table....???

voila des pistes...

sinon le code me semble correct...
(sauf que j'ai pas trop l'habitude des dataset typé..)

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
WAHOU !!! Rapide ! ^^

- pour ta première remarque :
g voulu copier le tuto qui donnais :
MonEtat.SetDataSource(this.DataMesProduits);
ou DateMesProduits correspond au ds.

g toutefois essayer de le modifier mais ça ne change rien.

- pour ta deuxième remarque :
C'est juste une habitude, mais toutes façon ça ne change rien (g quand même essayer avec les SqlXXX à la définition).

- pour ta troisième remarque :
je suis sûr de ma chaine de connexion car g l'habitude de travailler toujours avec la même base avec le même compte (en gros ma chaine est un copier/coller dans tous mes projets).

- tous les petits tests que tu m'as indiqué je suis en train de les réaliser. Dès que je connais mon pb j'envoie la soluce ici (même si ça risque d'intéresser que peu de personnes).

Grand merci pour toutes ces réponses rapides Arthenius
Commenter la réponse de cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Oy !!!! Merci beaucoup !

En effet en passant par du générique cela fonctionne parfaitement.

Pour le Open/Close j'avais un peu oublié que le Fill s'occupais de tout.

Un seul mot me vient à l'esprit mais plusieurs fois :
merci merci merci
:big)
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
de rien...
valide la reponse qui te convient... :o)))
avec le chtit bouton "reponse accepte" ca servira peut etre a d'autre...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Ayé g validé :)

ça pourra effectivement servir à pas mal de gens, vu le nombre de personnes ayant poser des questions de débutants comme moi ...

aller bonne fin de journée et aide bien les tits débutants comme moi :-p
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
gnarff...

on debute tous....

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Salut c encore moi !

J'ai une nouvelle question. Vu que ça concerne toujours le reporting avec CR et que je code toujours en C# je poursuit dans se topic (peut-être n'aurais-pas du, Arthenius me dira :D)

Ce que j'aimerais savoir c ce que renferme les différents espaces de noms des librairies CR. En fait je connais les principales, celle dont on se sert tout le temps. Ma demande d'info concerne donc plus les librairies connexes fournies avec VS.NET.

Leurs noms sont :
CrystalEnterpriseLib
CrystalInfoStoreLib
CrystalKeyCodeLib
CrystalPluginMgrLib
CrystalReportPluginLib

Bien sûr je ne demande pas ici un résumé (à part si ça vous dit ^^) mais plutot une adresse intéressante. J'ai farfouillé sur le site officiel de BusinessObject mais rien de concluant.

Merci d'avance, mais je comprendrais si aucune réponse ne m'est envoyée ...
Commenter la réponse de cs_jopop
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
0
Merci
ouch....
peux pas t'aider...
par contre je posterai un nouveau topic...

celui la doit etre perdu dans la liste....
:o)))

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Merci Merci (je devrais le mettre en signature de mes posts ...)

Je vais faire encore quelques recherches personnelles. Et peut être je pourrais trouver un titre assez explicite.

Ciao et continue à aider les newbies comme moi ;)
Commenter la réponse de cs_jopop

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.