Optimizar el diseño de informes para los resultados HTML (Diseñador de informes de Visual Studio)

En este tema se describe la paginación y el modo de colocación de los elementos de informe para los informes HTML que se muestran en el control de servidor web ReportViewer. Esta información resulta útil para entender la presentación HTML de un informe. Cada vez que se ejecute el informe, volverán a generarse resultados HTML. Una extensión de representación integrada determina los resultados HTML, incluido el modo de colocación y el estilo de los elementos del informe. La extensión de representación HTML integrada no puede personalizarse. Las etiquetas HTML que genera no pueden modificarse; tampoco pueden reemplazarse por una implementación distinta los elementos de formato existentes.

Compatibilidad con HTML

Los informes HTML 4.0 cumplen las especificaciones de HTML 4.0 y del nivel 2 de las hojas de estilos en cascada (CSS2), con algunas excepciones. Todo el HTML se genera con la codificación UTF-8.

Nota

Este tema hace referencia a los elementos de un informe. Los elementos de un informe forman parte del lenguaje RDL (Report Definition Language), que proporciona una descripción formal de la estructura del informe. El lenguaje RDL se describe en la documentación de los Libros en línea de SQL Server 2005.

Colocación de los elementos

Para que los resultados de un informe se generen en HTML, el control crea una tabla en HTML donde se incluyen los elementos de cada conjunto de elementos de informe. En la tabla, los elementos se colocan de manera que se mantenga el diseño del informe. Si el conjunto de elementos de informe sólo contiene un elemento de informe, el elemento de informe se representa sin la tabla. Todas las posiciones y tamaños de los elementos se expresan en milímetros (mm). Las diferencias de tamaño y posición inferiores a 0,2 mm se representan como 0 mm.

HTML no admite la superposición de elementos. Si un elemento de informe se superpone a otro, los elementos se reorganizan de modo que no se superpongan. En consecuencia, es posible que las posiciones de algunos elementos de la página no sean las que se diseñaron. En algunos casos, puede parecer que los elementos no se superponen en una herramienta de diseño, pero en realidad sí lo hacen. Las propiedades de tamaño y posición de los elementos de informe revelarán su verdadera posición. Para determinar la posición de los elementos superpuestos, la extensión de representación tiene en cuenta en primer lugar el valor del elemento Top de los elementos, después, el valor del elemento Left y, por último, el valor de ZIndex.

Paginación

La extensión de representación HTML representa las páginas como páginas HTML independientes, también conocidas como "secciones", de la manera siguiente:

  • Los saltos de página se representarán cuando los siguientes elementos se encuentren en una lista con un salto de página o directamente dentro del cuerpo del informe:

    • Rectángulos con PageBreakAtEnd o PageBreakAtStart establecido en True.

    • Listas o grupos de listas con PageBreakAtEnd o PageBreakAtStart establecido en True.

    • Tablas o grupos de tablas con PageBreakAtEnd o PageBreakAtStart establecido en True. La tabla debe tener al menos una columna visible. Todos los grupos primarios de un grupo de tablas deberán ser visibles.

    • Matrices o grupos de filas con PageBreakAtEnd o PageBreakAtStart establecido en True.

    • Subinformes con alguno de los elementos anteriores.

  • Los elementos que empiecen encima de un elemento que contenga un salto de página aparecerán en la página delante del salto de página.

La extensión de representación HTML intentará representar todos los saltos de página de los elementos tal y como se ha descrito anteriormente; no obstante, si dos elementos con saltos de página están situados uno junto al otro en la página, los resultados pueden ser imprevisibles. Los elementos con saltos de página que están incluidos dentro de una tabla, matriz o rectángulo también pueden producir resultados imprevisibles.

Cualquier elemento que se encuentre junto a un elemento con un salto de página se representará en la misma página si la parte superior del elemento se encuentra encima de la parte inferior del elemento con el salto de página. Por ejemplo, un cuadro de texto que esté situado directamente a la derecha de una tabla que tenga un salto de página al final aparecerá en la misma página que la tabla. Un cuadro de texto que se encuentre a la derecha y debajo de la parte inferior de la misma tabla aparecerá en la página siguiente.

La extensión de representación HTML también insertará saltos de página cuando se alcance el alto aproximado de la página definido en las propiedades del informe. Esto impide, principalmente, que al representar un informe de gran tamaño sin saltos de página se generen páginas HTML demasiado grandes.

Estilo

Los elementos de estilo se representan como estilos CSS para HTML 4.0. En HTML 4.0, se representa un solo estilo CSS para cada elemento de informe. Los nombres de los estilos son únicos en los informes y subinformes. En la tabla siguiente se indica cómo se asignan los atributos de estilo RDL a estilos HTML.

Estilo RDL Descripción HTML 4.0

BorderColor

Color del borde.

border

BorderStyle

Estilo del borde.

border

BorderWidth

Ancho del borde.

border

BackgroundColor

Color del fondo.

background-color

BackgroundImage

Dirección URL de la imagen de fondo.

background-image

BackgroundRepeat

Modelo de repetición de la imagen de fondo.

background-repeat

FontStyle

Estilo de fuente (normal, cursiva).

font-style

FontSize

Tamaño de fuente.

font-family

FontWeight

Espesor de texto.

font-weight

TextDecoration

Decoración del texto (subrayado, tachado).

text-decoration

TextAlign

Alineación horizontal del texto.

text-align

VerticalAlign

Alineación vertical del texto.

vertical-align

Color

Color del texto.

color

PaddingLeft

Tamaño del margen entre el borde izquierdo y el texto.

padding-left

PaddingRight

Tamaño del margen entre el borde derecho y el texto.

padding-right

PaddingTop

Tamaño del margen entre el borde superior y el texto.

padding-top

PaddingBottom

Tamaño del margen entre el borde inferior y el texto.

padding-bottom

LineHeight

Alto de las líneas de texto.

Line-height

Dirección

De derecha a izquierda o de izquierda a derecha.

Atributo DIR

Idioma

Idioma del texto.

Atributo LANG

UnicodeBiDi

Invalidación del algoritmo bidireccional.

unicode-bidi

Nota

La extensión de representación HTML representa los bordes con estilo de borde Double y un ancho inferior a 2 pt como una sola línea. Un borde con estilo de borde Double debe tener un ancho de al menos 2 pt para que se muestren ambas líneas.

Vea también

Conceptos

Configurar ReportViewer para el procesamiento remoto
Crear archivos de definición de informe de cliente (.rdlc)
Controles de servidor web ReportViewer y de Windows Forms