J'utilise cristal . Je vais décrire brièvement ma méthode, mais sachez que je suis un homme et que cela ne se traduira peut-être pas dans votre environnement. Commencez par créer un formulaire avec un CR Viewer. Puis:
1) Déterminez les données dont vous avez besoin et créez une vue qui récupère les colonnes souhaitées. 2) Créez un nouveau rapport Crystal à l'aide de l'assistant en indiquant votre source comme source de données. 3) Glissez, déposez, insérez, effacez, et quoi que ce soit pour donner forme à votre rapport. Oui, c'est fastidieux. 4) Créez le clic de bouton nécessaire ou autre, et créez la fonction dans laquelle générer le rapport. 5) Récupérez les données dans un DataTable (probablement dans un DataSet). Vous n'êtes pas obligé d'utiliser la vue. 6) Créez l'objet de rapport. Définir le DataTable pour être le DataSource. Affectez l'objet de rapport à la visionneuse CR. C'est une partie pour laquelle il y a des exemples.
Commentaires:
Si vous perdez la fenêtre avec les champs de base de données, etc (Explorateur de champs), aller à la vue/Structure du document. (C'est mon fantasme d'avoir Bill Gates sur scène et de lui demander de le trouver.)
La raison de la configuration de la vue est que si vous voulez ajouter une colonne, vous modifiez la vue, et l'Explorateur de champs mettre à jour automatiquement. J'ai eu toutes sortes de difficultés à le faire d'autres façons. Cette méthode est également une solution de contournement pour un bogue qui nécessite une analyse à travers toutes les tables en réinitialisant la table vers laquelle ils pointent. Vous voulez donner à Crystal une seule table. Vous ne voulez pas essayer de faire en sorte que Crystal rejoigne les tables, etc. Je ne dis pas que ça ne marche pas; Je dis que c'est plus difficile.
Il existe (ou existait) de la documentation sur l'implémentation VS de Crystal sur le site Web de Business Objects, mais je crois qu'elle a disparu derrière un écran de connexion/connexion. (Je pourrais supporter plus d'informations sur moi-même.)
J'ai eu du mal à obtenir des sauts de page quand je le souhaite, et pas de sauts de page quand je ne veux pas, etc. C'est loin d'être le meilleur rédacteur de rapports I J'ai toujours utilisé et je ne comprends pas pourquoi il semble avoir mis tant d'autres à la faillite. De plus, leurs politiques d'octroi de licences sont très difficiles à gérer dans une petite organisation fluide.
Edité pour ajouter par exemple:
AcctStatement oRpt = new AcctStatement() ;
oRpt.Database.Tables[0].SetDataSource(dsRpt.Tables[0]);
oRpt.SetParameterValue("plan_title",sPlanName) ;
crViewer.ReportSource = oRpt ;
J'ai trouvé un moyen encore mieux, plus simple ... http://arcanecode.com/2009/02/09/using-a-local-reporting-services-2008-report-with-an-adonet-data- set/# commentaire-27511 – Piku