Bonjour,

je débute avec Crystal Report. J'ai conçu une application avec Visual Studio 2017 qui s'appuie sur une base de données SQL Server. Je cherche à produire un rapport qui serait en fait un certificat avec un fichier texte en remplaçant juste certains champs par les attributs de l'instance d'un objet.

Ma première difficulté est que je programme sur plusieurs PC (boulot et perso) et dans ma solution j'ai mis des répertoire pour séparer Metier, IHM (Forms) et RapportCR, quand sur la CRview je clique sur la petite fleche en haut a droite pour indiquer l'emplacement de mon rapport (CrystalReport\MonRapport.rpt) il me dit que l'emplacement est introuvable...il doit manquer une référence qque part mais je n'arrive pas à trouver...

CrystalReport à l'air d'être surtout fait pour les bases de données, je ne sais pas si l'utilisation avec les attributs d'une instance est judicieuse... j'ai un objet A qui contient notamment une liste d'objets B... si je crée une vue pour utiliser la BDD en spécifiant l'ID de la ligne que je veux il faudra faire une jointure LEFT OUTER JOIN qui me donnera autant de ligne que d'objets B et donc qque chose qui ne sera pas plus facilement utilisable qu'une instance.

Ensuite j'ai un soucis au niveau de la mise en forme de mon rapport : suivant l'instance de mon objet A, j'aurai plus ou moins d'instance de B dans la liste rattachée en attribut de A. il me faudra donc un nombre variable de TextObjects ... mais c'est moins facile à instancier qu'un label dans une forme qqun peut il m'aider? j'ai trouvé comment changer le texte de TextObject déjà créés mais pas comment les créer depuis le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
TextObject MonChampText = MonRapport.ReportDefinition.ReportObjects["Text3"] as TextObject;
MonChampText.Text = ObjA.ObjB[1].AttributDeB;
Voila, je sais que mes questions vont un peu dans tout les sens mais j'ai pas mal cherché avant de venir embêter les spécialistes et cela m'a fait noter plusieurs questions au fur et à mesure.
Merci de votre aide.