Partager via


Optimisation de mise en page de rapport pour une sortie HTML (Concepteur de rapports Visual Studio)

Cette rubrique décrit la pagination et le positionnement des éléments de rapports HTML qui sont affichés dans le contrôle de serveur Web ReportViewer. Ces informations sont utiles si vous souhaitez comprendre la présentation HTML d'un rapport. Une sortie HTML est regénérée à chaque exécution du rapport. Une extension de rendu intégrée détermine la sortie HTML, notamment comment les éléments du rapport sont positionnés et quel style est appliqué. L'extension de rendu HTML intégrée ne peut pas être personnalisée. Vous ne pouvez pas changer les balises HTML qu'elle produit ni remplacer les éléments de format existants avec une implémentation différente.

Prise en charge HTML

Les rapports HTML 4.0 respectent les spécifications HTML 4.0 et Cascading Style Sheets niveau 2 (CSS2) à quelques exceptions près. La sortie HTML est intégralement générée avec le code UTF-8.

NoteRemarque

Cette rubrique fait référence aux éléments d'un rapport. Les éléments d'un rapport font partie du langage RDL (Report Definition Language), qui fournit une description formelle de la structure d'un rapport. RDL est décrit dans la documentation en ligne de SQL Server 2005.

Positionnement des éléments

Pour produire un rapport en HTML, le contrôle construit un tableau en HTML pour contenir des éléments dans chaque ensemble d'éléments du rapport. Les éléments sont positionnés à l'intérieur du tableau afin de préserver la disposition du rapport. Si l'ensemble des éléments de rapport contient uniquement un élément de rapport, celui-ci est rendu sans le tableau. Tous les emplacements et tous les formats d'élément sont exprimés en millimètres (mm). Les différences de taille et de position inférieures à 0,2 mm deviennent 0 mm.

HTML ne prend pas en charge le chevauchement d'éléments. Si un élément de rapport empiète sur un autre, les éléments sont disposés de façon à ne pas se chevaucher. Ceci peut entraîner un déplacement des éléments par rapport à leur position définie. Dans certains cas, le chevauchement, même s'il est réel, ne sera pas visible avec un outil de conception. Les propriétés de taille et de positionnement des éléments de rapport révèlent leur position réelle. Pour déterminer l'emplacement des éléments qui se chevauchent, l'extension de rendu examine d'abord la valeur de leur élément Top, ensuite la valeur de l'élément Left, puis la valeur de ZIndex.

Pagination

L'extension de rendu HTML rend les pages dans des pages HTML distinctes, appelées « sections », en procédant comme suit :

  • Les sauts de page sont rendus lorsque les éléments suivants sont placés dans une liste avec un saut de page ou placés directement à l'intérieur du corps du rapport :

    • Les rectangles avec PageBreakAtEnd ou PageBreakAtStart prennent la valeur True.

    • Les listes ou les groupes de listes avec PageBreakAtEnd ou PageBreakAtStart prennent la valeur True.

    • Les tableaux ou les groupes de tableaux avec PageBreakAtEnd ou PageBreakAtStart prennent la valeur True. Le tableau doit comporter au moins une colonne visible. Tous les groupes parents d'un groupe de tableaux doivent être visibles.

    • Les matrices ou les groupes de lignes avec PageBreakAtEnd ou PageBreakAtStart prennent la valeur True.

    • Sous-rapports avec l'un ou l'autre des éléments ci-dessus.

  • Les éléments qui commencent au-dessus d'un élément contenant un saut de page apparaîtront sur la page avant le saut de page.

L'extension de rendu HTML tentera de rendre, comme décrit précédemment, tous les sauts de page dans les éléments. Cependant, deux éléments avec sauts de page qui sont placés côte à côte peuvent produire des effets imprévisibles. Les éléments avec sauts de pages et contenus dans un tableau, une matrice ou un rectangle peuvent également produire des résultats imprévisibles.

Tout élément placé en regard d'un élément avec un saut de page sera rendu sur la même page si le haut de l'élément se trouve au-dessus du bas de l'élément avec le saut de page. Par exemple, une zone de texte placée directement à droite d'un tableau suivi d'un saut de page apparaîtra sur la même page que le tableau. Une zone de texte placée à droite et en dessous du bas du même tableau apparaîtra sur la page suivante.

L'extension de rendu HTML insère également des sauts de page à la hauteur approximative de la page, telle que définie dans les propriétés du rapport. Cette mesure est essentiellement destinée à empêcher qu'un grand rapport sans saut de page ne génère des pages HTML très grandes lors du rendu.

Style

Les éléments de style sont rendus en tant que styles CSS pour HTML 4.0. Pour HTML 4.0, un seul style CSS est rendu pour chaque élément de rapport. Les noms des styles sont uniques d'un rapport à l'autre et d'un sous-rapport à l'autre. Le tableau suivant indique la façon dont les attributs de style RDL sont mis en correspondance avec les styles HTML.

Style RDL Description HTML 4.0

BorderColor

Couleur de la bordure

border

BorderStyle

Style de la bordure

border

BorderWidth

Largeur de la bordure

border

BackgroundColor

Couleur de l'arrière-plan

background-color

BackgroundImage

URL de l'image de l'arrière-plan

background-image

BackgroundRepeat

Répéter le motif de l'image d'arrière-plan

background-repeat

FontStyle

Style de police (Normal, Italique)

font-style

FontSize

Taille de la police

font-family

FontWeight

Épaisseur du texte

font-weight

TextDecoration

Ornement du texte (Souligné, Barré)

text-decoration

TextAlign

Alignement horizontal du texte

text-align

VerticalAlign

Alignement vertical du texte

vertical-align

Color

Couleur du texte

color

PaddingLeft

Taille de la marge intérieure entre la bordure gauche et le texte

padding-left

PaddingRight

Taille de la marge intérieure entre la bordure droite et le texte

padding-right

PaddingTop

Taille de la marge intérieure entre la bordure supérieure et le texte

padding-top

PaddingBottom

Taille de la marge intérieure entre la bordure inférieure et le texte

padding-bottom

LineHeight

Hauteur des lignes de texte

Line-height

Direction

Droite à gauche ou gauche à droite

Attribut DIR

Language

Langue du texte

Attribut LANG

UnicodeBiDi

Remplacement de l'algorithme bidirectionnel

unicode-bidi

NoteRemarque

Les bordures avec un style de bordure Double et une largeur de bordure inférieure à 2 pt sont rendues sous la forme d'une ligne unique par l'extension de rendu HTML. Une bordure avec un style de bordure Double doit avoir une largeur d'au moins 2 pt pour que les deux lignes puissent être présentées.

Voir aussi

Concepts

Configuration de ReportViewer pour un traitement distant
Création de fichiers de définition de rapport client (.rdlc)
Contrôles de serveur Web et Windows Forms de ReportViewer