Ajout d'un en-tête et d'un pied de page à un rapport
Un rapport peut contenir un en-tête et un pied de page, informations situées respectivement le long des bords supérieur et inférieur de chaque page. Les en-têtes et pieds de page peuvent contenir du texte statique, des images, des courbes, des rectangles, des bordures, une couleur d'arrière-plan et des images d'arrière-plan. Vous ne pouvez pas ajouter de champs ou d'images liés aux données à un en-tête ou à un pied de page directement. Cependant, vous pouvez écrire une expression, qui procure une référence indirecte à un champ ou à une image liés aux données, que vous souhaitez utiliser dans un en-tête ou un pied de page.
Remarque : |
---|
Chaque extension du rendu traite les pages différemment. Pour plus d'informations sur la pagination de rapports et les extensions de rendu, consultez Contrôle de la pagination des rapports. |
Remarque : |
---|
Dans SQL Server 2005 et SQL Server 2005 Service Pack 1, Reporting Services ne prend pas en charge l'usage d'actions d'extraction ou de liens de signet dans un en-tête ou un pied de page. |
Les en-têtes et les pieds de page relatifs aux rapports ne sont pas les mêmes que ceux situés dans une table ou dans un groupe. Pour plus d'informations sur les en-têtes et les pieds de page d'un tableau, consultez Utilisation de régions de données de tableau.
Suppression des en-têtes et pieds de page sur la première page
Dans le Concepteur de rapports, les en-têtes et les pieds de page sont affichés par défaut sur la première et la dernière page d'un rapport. Vous pouvez supprimer ces en-têtes et pieds de page si vous le souhaitez. Pour modifier ce paramètre, modifiez les propriétés PrintOnFirstPage ou PrintOnFirstPage pour l'en-tête ou le pied de page. Pour plus d'informations, consultez Procédure : masquer un en-tête ou pied de page sur la première ou dernière page (Générateur de rapports).
Affichage des données variables dans un en-tête ou un pied de page
Les en-têtes et les pieds de page peuvent contenir du contenu statique, mais ils servent généralement à afficher des éléments qui varient, tels que des numéros de page ou des informations sur le contenu d'une page. Pour afficher des données variables d'une page à l'autre, vous devez écrire une expression. Pour placer des données variables dans un en-tête ou un pied de page, procédez comme suit :
- Ajoutez une zone de texte à l'en-tête ou au pied de page.
- Dans la zone de texte, écrivez une expression qui produit des données variables que vous souhaitez afficher.
- Dans l'expression, insérez des références aux éléments de rapports sur la page (vous pouvez, par exemple, référencer une zone de texte contenant des données issues d'un champ particulier). N'insérez pas de référence directe aux champs dans un dataset.
Vous ne pouvez pas faire référence directement à un champ depuis une zone de texte d'un en-tête ou d'un pied de page. (Par exemple, vous ne pouvez pas utiliser l'expression =Fields!LastName.Value
.)
Pour afficher les informations d'un champ dans un en-tête ou un pied de page, placez l'expression du champ dans une zone de texte dans le corps du rapport, puis créez une référence à cette zone de texte dans l'en-tête ou le pied de page. L'expression suivante affiche le contenu de la première instance d'une zone de texte appelée TXT_LastName :
=First(ReportItems!TXT_LastName.Value)
Vous ne pouvez pas utiliser de fonctions d'agrégation sur des champs dans un en-tête ou un pied de page. Vous pouvez utiliser uniquement une fonction d'agrégation sur un élément de rapport (comme la fonction First() décrite précédemment). Pour plus d'informations sur les expressions courantes dans les en-têtes et les pieds de page, consultez Exemples d'expressions dans Reporting Services.
Les sections suivantes de cette rubrique illustrent des expressions prêtes à l'emploi pour obtenir des données variables utilisées couramment dans les en-têtes et les pieds de page. Elles expliquent également le mode de traitement de l'extension de rendu Excel pour les en-têtes et les pieds de page. Pour plus d'informations sur les expressions, consultez Utilisation des expressions dans Reporting Services.
Ajout d'un numéro de page à un en-tête ou à pied de page
Généralement, les pieds de page affichent un numéro de page. Pour afficher un numéro de page dans l'en-tête ou le pied de page d'un rapport, créez une zone de texte dans le pied de page et ajoutez-y l'expression suivante :
=Globals.PageNumber & " of " & Globals.TotalPages
Ajout du nom de rapport, du chemin d'accès et de l'heure d'exécution du rapport à un en-tête ou un pied de page
Utilisez les expressions suivantes pour illustrer le titre ou le nom du rapport, tel qu'il est stocké dans la base de données du serveur de rapports avec des informations timestamp sur l'heure de la génération du rapport :
=ReportItems!ReportTitle.Value
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Ajout d'une image liée aux données à un en-tête ou à un pied de page
Vous pouvez utiliser des données d'images stockées dans une base de données d'un en-tête ou d'un pied de page. Cependant, vous ne pouvez pas référencer les champs de base de données à partir du contrôle d'image directement. En revanche, vous devez ajouter une zone de texte dans le corps du rapport et la définir sur un champ de données contenant l'image (notez que le codage de cette valeur doit être de type base64). Vous pouvez masquer la zone de texte dans le corps du rapport pour éviter de montrer l'image au codage base64. Vous pouvez ensuite référencer la valeur de la zone de texte masquée depuis le contrôle d'image dans l'en-tête ou le pied de page de la page.
Imaginons, par exemple, que vous avez un rapport constitué de pages d'informations sur le produit. Dans l'en-tête de chaque page, vous souhaitez afficher une photo du produit. Pour imprimer une image stockée dans l'en-tête du rapport, définissez une zone de texte masquée appelée TXT_Photo dans le corps du rapport qui récupère l'image de la base de données, et utilisez une expression pour lui affecter une valeur :
=Convert.ToBase64String(Fields!Photo.Value)
Dans l'en-tête de page, ajoutez un contrôle d'image utilisant la zone de texte TXT_Photo, décodée en vue de montrer l'image :
=Convert.FromBase64String(ReportItems!TXT_Photo.Value)
Ajout de totaux calculés de la page à un en-tête ou à pied de page
Pour certains rapports, il est pratique d'inclure une valeur calculée dans l'en-tête ou le pied de page dans chaque rapport (par exemple, une somme totale par page si celle-ci comprend des valeurs numériques). Étant donné que vous ne pouvez pas référencer les champs directement, l'expression placée dans l'en-tête ou le pied de page doit référencer le nom de l'élément du rapport (par exemple, une zone de texte) plutôt que le champ de données :
=Sum(ReportItems!Textbox1.Value)
Si la zone de texte est dans une table ou dans une liste avec des lignes répétées de données, la valeur qui s'affiche dans l'en-tête ou le pied de page au moment de l'exécution, est une somme de toutes les valeurs de toutes les données de l'instance TextBox1, dans la table ou dans la liste pour la page actuelle.
Lors du calcul des totaux de la page, vous pouvez noter des différences de totaux lorsque vous utilisez différentes extensions de rendu pour consulter le rapport. La sortie paginée est calculée différemment pour chaque extension de rendu. La même page que vous consultez au format HTML risque de montrer des totaux différents au format PDF si le montant de données sur la page PDF est différent.
Utilisation d'en-têtes et de pieds de page pour positionner du texte
Vous pouvez utiliser des en-têtes et des pieds de page pour positionner du texte dans une page. Imaginons, par exemple, que vous créez un rapport à envoyer aux clients. Vous pouvez utiliser un en-tête ou un pied de page pour positionner l'adresse du client de manière à ce qu'elle s'affiche dans la fenêtre d'une enveloppe pliée.
Si vous utilisez uniquement la zone de texte pour remplir un en-tête ou un pied de page, vous pouvez masquer la zone de texte dans le corps du rapport. Le positionnement de la zone de texte dans le corps du rapport peut affecter l'affichage de la valeur sur l'en-tête ou le pied de page pour la première ou la dernière page d'un rapport. Par exemple, si des tables, des matrices ou des listes font que le rapport couvre plusieurs pages, la valeur de la zone de texte masquée s'affiche sur la dernière page. Si vous souhaitez un affichage sur la première page, placez la zone de texte masquée en haut du corps du rapport.
Utilisation des en-têtes et des pieds de page dans Excel
Lors de la définition des en-têtes et des pieds de page pour les rapports qui ciblent l'extension de rendu Excel, suivez ces directives pour maximiser les résultats :
- Utilisez les pieds de page pour afficher les numéros de page.
- Utilisez les en-têtes de page pour afficher les images, les titres ou un autre contenu textuel. N'insérez pas de numéros de page dans l'en-tête.
Dans Excel, la mise en page des pieds de page est limitée. Si vous définissez un rapport comportant des éléments complexes dans le pied de page, son traitement ne répondra pas à vos attentes lorsqu'il sera consulté dans Excel.
L'extension de rendu Excel peut accueillir des images et un positionnement absolu pour des éléments de rapports simples ou complexes dans l'en-tête de page. Une prise en charge restreinte des numéros de pages calculés dans l'en-tête représente un effet secondaire associé à la prise en charge d'une mise en page plus élaborée de l'en-tête de page. Dans l'extension de rendu Excel, les paramètres par défaut se soldent par le calcul des numéros de pages en fonction du nombre de classeurs. En fonction de votre mode de définition du rapport, vos numéros de pages risquent d'être erronés. Imaginons, par exemple, que votre rapport rend un seul grand classeur qui s'imprime sur quatre pages. Si vous insérez des informations sur les numéros de page dans l'en-tête, chaque page imprimée affichera « Page 1 de 1 » dans l'en-tête.
Un décompte de pages plus précis dépend des pages logiques qui mettent en corrélation les dimensions d'une page imprimée. Dans Excel, le pied de page utilise les numéros de pages logiques automatiquement. Pour placer le décompte de pages logique dans l'en-tête, vous devez configurer les paramètres d'informations du dispositif en vue d'utiliser des en-têtes simples. Faites attention lorsque vous utilisez des en-têtes simples, car une mise en page complexe des rapports dans la région de l'en-tête est impossible. Pour plus d'informations sur la modification des paramètres d'informations du dispositif, consultez Excel Device Information Settings.
Voir aussi
Tâches
Procédure : ajouter ou supprimer un en-tête ou un pied de page (Générateur de rapports)
Procédure : masquer un en-tête ou pied de page sur la première ou dernière page (Générateur de rapports)
Procédure : incorporer une image dans un rapport (Générateur de rapports)
Concepts
Conception de la mise en page de rapport
Ajout d'éléments graphiques