Tablix: Repetir filas de encabezado en cada página que no funciona - Generador de informes 3.0


163

Tengo un tablix con muchas filas que abarcan varias páginas. He establecido la propiedad Tablix Repetir filas de encabezado en cada página pero esto no funciona. Leí en alguna parte que este es un error conocido en Report Builder 3.0. ¿Es esto cierto? Si no, ¿hay algo más que deba hacerse?

Respuestas:


426

Depende de la estructura tablix que esté utilizando. En una tabla, por ejemplo, no tiene grupos de columnas, por lo que Reporting Services no reconoce qué cuadros de texto son los encabezados de columna y no establece la propiedad RepeatColumnHeaders en True.

En cambio, necesitas:

  1. Abra el Modo avanzado en el panel Agrupaciones. (Haga clic en la flecha a la derecha de los Grupos de columnas y seleccione Modo avanzado).
    • Captura de pantalla
  2. En el área Grupos de filas (no Grupos de columnas), haga clic en un grupo Estático, que resalta el cuadro de texto correspondiente en el tablix. Haga clic en cada grupo estático hasta que resalte el encabezado de columna más a la izquierda. Este es generalmente el primer grupo estático en la lista.
  3. En la ventana Propiedades, establezca la RepeatOnNewPagepropiedad en Verdadero.
    • Captura de pantalla
  4. Asegúrese de que la KeepWithGrouppropiedad esté establecida en After.

La KeepWithGrouppropiedad especifica a qué grupo debe adherirse el miembro estático. Si se establece en After, el miembro estático se queda con el grupo después, o debajo de él, actuando como un encabezado de grupo. Si se establece en Before, entonces el miembro estático se queda con el grupo antes o por encima de él, actuando como pie de página del grupo. Si se establece en None, Reporting Services decide dónde colocar el miembro estático.

Ahora, cuando ve el informe, los encabezados de las columnas se repiten en cada página del tablix.

Este video muestra cómo configurarlo exactamente como se describe en la respuesta.


1
Stacia, cuando selecciono KeepWithGroup e intento guardar, aparece "El tablix 'DetailTablix' tiene un TablixMember no válido. Todos los elementos TablixMember en una TablixColumnHierarchy deben tener la propiedad RepeatOnNewPage establecida en falso". ¿Algunas ideas?
moodboom

24
Resolví mi problema. Stacia, tu respuesta es absolutamente correcta, es algo difícil de conseguir. Tenga en cuenta que Stacia dice que cambie el área de Grupos de FILA al configurar la propiedad RepeatOnNewPage. Todo lo demás sobre esta solución trata con columnas, pero debe elegir los grupos de filas (a la izquierda), no los grupos de columnas (a la derecha), aunque comience haciendo clic en el menú desplegable en Columnas. Gracias Stacia, genial.
moodboom

55
+1 - Acabo de leer una docena de tutoriales sobre esto en Internet, y esta es la mejor solución más directa al problema: también explican POR QUÉ las opciones son importantes, lo cual es fantástico. ¡Gracias!
JNK

3
este video muestra cómo configurarlo exactamente como se describe en la respuesta: youtube.com/watch?v=WAO819-gkKw
arroz con camarones el

8
KeepWithGroup = After fue clave para mí. Al igual que muchas cosas de Microsoft, este es un truco no obvio necesario para que una característica funcione. ¡Gracias!
Leqid

17

Tengo 2.0 y encontré lo anterior para ayudar; sin embargo, la selección de una estática no resaltó la celda por alguna razón. Seguí estos pasos:

  1. En los grupos de columnas, seleccione el avanzado y se mostrarán las estadísticas.
  2. Haga clic en la estática que aparece en los grupos de filas.
  3. Establezca KeepWithGroup en After y RepeatOnNewPage en true

Ahora sus encabezados de columna deberían repetirse en cada página.


Esto funcionó perfectamente ... mucho más simple que la respuesta anterior que no funcionó para mí.
R_Avery_17

desafortunadamente esto me hace comenzar a obtener páginas en blanco nuevamente
Mike

10

La forma en que solucioné este problema fue que cambié manualmente el código detrás (desde el menú Ver / código). La siguiente sección debería tener tantos pares de pares <TablixMember> </TablixMember>como el número de filas que hay en el tablix. En mi caso, tenía más pares <TablixMember> </TablixMember>que el número de filas en el tablix. Además, si va al "Modo avanzado" (a la derecha de "Grupos de columnas"), el número de líneas estáticas detrás de los "Grupos de filas" debe ser igual al número de filas en el tablix. La forma de igualarlo es cambiando el código.

<TablixRowHierarchy>
      <TablixMembers>
        <TablixMember>
          <KeepWithGroup>After</KeepWithGroup>
          <RepeatOnNewPage>true</RepeatOnNewPage>
        </TablixMember>
        <TablixMember>
          <Group Name="Detail" />
        </TablixMember>
      </TablixMembers>
    </TablixRowHierarchy>

Para mi sorpresa, hacer esto resolvió el problema. Tenía un tablix con 6 filas (3 filas de encabezado más un grupo con un encabezado, detalle y fila de pie de página). Al mirar la fuente se muestran 6 <TablixRow> s pero 7 <TablixMember> s en la <TablixRowHierarchy>. Adiviné cuál era el extra (uno que envolvía al grupo) y lo eliminé. Esta versión no se pudo procesar, pero el mensaje de error indicaba que una fila necesitaba que sus configuraciones <Repetir ...> y <MantenerCon ...> cambiaran para coincidir con las anteriores; ¡Cambié esos a "verdadero" y "Después" en la 3ra fila (Estática) y listo! Desearía haber entendido realmente;)!
GISmatters

Gracias por esto. He estado usando SSRS durante más de 10 años y me encontré con este problema; de hecho, había un contenedor adicional de TablixMember en todo el grupo (sin duda de los experimentos con la adición y eliminación de grupos). Limpiar la lista de miembros resolvió el misterioso encabezado no repetitivo.
Carl Daniel

Gracias, tuve que eliminar dos filas de TablixMember en exceso que estaban agrupadas y no tenían datos. La señal de esto para mí en mi informe fue que había dos grupos de filas estáticas en lugar de uno. Una vez que eliminé el exceso de anidamiento XML, las filas repetidas comenzaron a funcionar.
Noppadet

1
Gracias. Solo esta solución funcionó para mi informe donde enfrentaba un problema similar.
Syed

aparentemente falta la configuración adecuada en Visual Studio. Por lo tanto, los consejos de "configuración avanzada" que se refieren a ReportBuilder no ayudaron. La edición manual del archivo funcionó de maravilla. ¡Gracias!
MovGP0

9

Abrir Advanced Modeen el panel Agrupaciones. (Haga clic en la flecha a la derecha de los Grupos de columnas y seleccione Modo avanzado).

En el área Grupos de filas (no Grupos de columnas), haga clic en un grupo Estático, que resalta el cuadro de texto correspondiente en el tablix.

Haga clic en cada grupo estático hasta que resalte el encabezado de columna más a la izquierda. Este es generalmente el primer grupo estático en la lista.

En la cuadrícula de propiedades:

  • establecido KeepWithGroupenAfter
  • establecer RepeatOnNewPagea Truepara repetir las cabeceras
  • fijar FixedDataa Truepara mantener visibles los encabezados

5

Otra forma de lograr esto si todavía tiene ese problema es haciendo lo siguiente:

  • Borre todo el texto del encabezado de la tabla y déjelo vacío.
  • En la sección "Encabezado" de Informes, agregue cuadros de texto dentro de un rectángulo, cada cuadro de texto representará un encabezado de columna para la tabla.
  • Como este rectángulo está en la sección Encabezado de informes, se mostrará en todas las páginas del informe.

Gracias Sufian.


2

Lo que funcionó para mí fue crear un nuevo informe desde cero.

Hecho esto y el nuevo informe funcionando, compararé los 2 archivos .rdl en Visual Studio. Estos están en formato XML y espero que un WindDiff rápido o algo revele cuál fue el problema.

Una mirada inicial muestra que hay 700 líneas de código o un poco más de diferencia entre ambos archivos, siendo el más grande de los 2 el archivo defectuoso. Una mirada superficial a las etiquetas TablixHeader no reveló nada obvio.

Pero en mi caso era un archivo .rdl dañado. Esto se copió originalmente de un informe de trabajo, por lo que en el proceso de eliminar lo que no se reutilizó, esto podría haberlo corrompido. Sin embargo, en otros informes donde se realizó este mismo proceso, los encabezados podrían repetirse cuando se realizaron las configuraciones correctas en Propiedades.

Espero que esto ayude. Si tiene un informe complejo, esta no es la solución rápida, pero funciona.

Quizás comparar buenos archivos XML conocidos con archivos defectuosos sería una buena publicación en el foro. Lo intentaré por mi parte.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.