Obtenir le chemin d'accès relatif à la rdlc rapport à mon application winform
Je suis automatiquement la création d'un fichier PDF à partir de certains de nos rapports dans un processus de fin de mois. Je suis en cours d'exécution dans un problème où ReportViewer.LocalReport
ne pouvez pas trouver mon rapport. Dans le cadre du projet, les fichiers de rapport sont en "(dossier racine du projet)/Rapports/rapport.rdlc".
Comment puis-je régler ReportViewer.LocalReport.ReportPath
donc je peut faire référence à mon fichier de rapport?
Je préfère ne pas définir le chemin d'accès complet parce que je ne sais pas où il serait installé lors de l'installation sur les machines client.
OriginalL'auteur Mike Wills | 2010-04-23
Vous devez vous connecter pour publier un commentaire.
L'utilisation de l'Application.StartupPath de la propriété, il s'oriente toujours vers le répertoire où se trouve votre fichier EXE est situé:
Vous voudrez vous assurer que le rapport est copié sur votre bin\Debug\dossier des Rapports ainsi donc, il travaillera dans l'IDE. Utiliser xcopy /s /d dans un post-créer un événement pour obtenir le fichier(s) copié.
OriginalL'auteur Hans Passant
Le chemin est toujours par rapport à votre "répertoire courant" qui, dans la plupart des cas, est exe de modifications de fichier rdlc fichiers de sorte qu'ils sont copiés dans le dossier de destination au lieu de incorporés dans les ressources(généralement c'est la façon dont c'est fait). Le chemin d'accès dans votre projet n'a pas d'importance.
OriginalL'auteur kubal5003
Vous pouvez stocker les rapports dans un "ressources" du fichier, et en utilisant une Assemblée lecteur de la donnée .dll /.exe où la "ressource" fichier est incorporé, peut se lire comme un flux de référence. Définissez ensuite votre rapport à l'embeded flux pour obtenir la définition de rapport.
Note spéciale. Si votre rapport est imbriquée des sous-rapports, il échouera à moins que vous donnez dans votre LocalReport sous-définition un autre exemple de référence pour vos sous-rapport .rdlc fichier.
OriginalL'auteur DRapp
Il y a un bug de ce que je comprends, c'est-à venir à partir de Windows XP. La question n'est pas présente lui-même sur Windows 7.
Toutes les réponses ci-dessus, mais j'ai une correction.
Cette question présente lui-même une fois que vous utilisez un
SaveFileDialog
qui ressemble modifie le chemin d'accès de l'application en cours. Cela se produit lorsque vous utilisez le chemin d'accès actuel, par rapport à l'actuel wokring répertoire, qui est la valeur par défaut pour le chargement RDLC, c'est à direreportpath = "nameOfReport.rldc"
. Si vous souhaitez actualiser le rapport après avoir utilisé le SaveFileDialog reportviewer ne peut pas trouver le chemin d'accès du fichier de rapport.La solution vient de Hans Passant sur le post ci-dessus, mais je voudrais changer à partir de ce
à ce
Merci Hans
ce n'est pas documentée à partir de ce que je sais. Je l'ai testé moi-même et ont constaté que, dans tous les machines XP lorsque j'utilise le dialogue enregistrer le fichier sous la même forme que la visionneuse de rapports, la boîte de dialogue change le chemin d'accès et une actualisation du rapport échouera.
OriginalL'auteur kuklei