2009-02-06 17 views
3

J'écris un rapport, qui exporte bien au format PDF. Toutefois, il n'exporte pas correctement dans un document Word (.doc).Reporting Services 2008: existe-t-il un moyen de modifier les propriétés d'un élément, en fonction du rendu d'un rapport?

(marges sont ignorés dans la zone d'en-tête, ce qui endommagerait pages pauses, pied de page est manquant, etc.)

Pour contourner cela, je veux activer, désactiver et/ou redimensionnez quelques Les éléments de mon rapport dépendent du format PDF ou Word.

Est-il possible de définir des propriétés d'élément, en fonction du rendu d'un rapport?

Répondre

3

Je pense que la seule solution à votre problème est la suivante: dans votre rapport, vous pouvez accéder à Globals.ReportServerUrl. Lorsque vous appelez un rapport, vous pouvez spécifier son type de rendu (et même d'autres choses comme les dimensions, etc.) dans l'URL. Tout ce que vous devez faire est d'écrire du code personnalisé pour extraire le type de rendu de l'URL et vous avez terminé.

Pour plus d'informations sur tous les paramètres possibles d'URL aller ici: http://technet.microsoft.com/en-us/library/ms154040.aspx

+0

Pas aussi simple que j'espérais, mais ça marche :) Merci! – Sophia

1

J'ai eu un scénario similaire dont je avais besoin d'utiliser le contrôle de visionneuse de rapports dans une application asp.net. La solution que j'ai trouvée consistait à cacher la barre d'outils dans le contrôle du visualiseur de rapports et à créer mon propre sélecteur déroulant pour les différents formats (PDF, Excel sont les deux que nous utilisons actuellement). La solution de contournement est, lors du chargement du contrôle de visionneuse de rapports, je passe un paramètre supplémentaire à mes rapports indiquant "RenderType = HTML". Lorsque la demande est faite pour obtenir la version PDF, j'utilise la même méthodologie, sauf que j'utilise la fonction ServerReport.Render() et que je transmets "PDF comme paramètre RenderType, même pour Excel."

Ceci me permet de faire Parce que Report Viewer Webcontrol prend en charge la fonctionnalité de rendu de pages/zooms spécifiques à partir du code derrière etc, il était assez facile de créer notre propre "barre d'outils". pour manipuler le rapport, et nous a donné l'avantage de le styliser plus approprié pour notre application, (bien que ceci puisse être fait avec css de toute façon.) Un autre problème résolu était la fonction d'impression bizarre exigeant le composant actif x, nous avons implémenté notre propre impression mécanisme pour écrire le re sortir d'une manière conviviale.

Espérons que cela aide.