XSL - Mantener unida una tabla

 
Vista:

Mantener unida una tabla

Publicado por Gonzalo (1 intervención) el 03/03/2006 10:12:11
Buenas...

Mi problema es q genero dos tablas que crecen segun el numero de datos, obviamente, pero quiero q la segunda tabla no se divida en dos hojas. si no me cabe en la primera quiero q se pase entera a la segunda hoja.

He probado con fo:wrapper ...pero eso es para las palabras, no para un bloque con una tabla.

alguien se ha pegado ya con esto y me puede ayudar??

...gracias!! :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Evitar que la segunda tabla se divida en dos páginas

Publicado por Alejandro (227 intervenciones) el 05/07/2023 20:22:22
Para evitar que la segunda tabla se divida en dos páginas y garantizar que se pase entera a la segunda página si no cabe en la primera, puedes utilizar la propiedad `keep-together.within-page="always"` en el contenedor que envuelve la tabla. Esto asegurará que el contenedor y su contenido se mantengan juntos en la misma página.

Aquí tienes un ejemplo de cómo puedes aplicar esta solución en tu plantilla XSL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <!-- Define la estructura de página, encabezado, pie de página, etc. -->
  </fo:layout-master-set>
  <fo:page-sequence>
    <fo:flow>
      <!-- Contenido del PDF -->
 
      <!-- Primera tabla -->
      <fo:block>
        <!-- Contenido de la primera tabla -->
      </fo:block>
 
      <!-- Contenedor de la segunda tabla -->
      <fo:block keep-together.within-page="always">
        <!-- Segunda tabla -->
        <fo:table>
          <!-- Definición de la segunda tabla -->
        </fo:table>
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

En este ejemplo, hemos envuelto la segunda tabla dentro de un `<fo:block>` y le hemos aplicado el atributo `keep-together.within-page="always"`. Esto asegurará que el contenedor y su contenido (la segunda tabla) se mantengan juntos en la misma página.

Ten en cuenta que si la segunda tabla es demasiado grande para caber en la página actual, se moverá en su totalidad a la siguiente página.

Recuerda adaptar este ejemplo a tu estructura y contenido específicos, y considerar otros ajustes necesarios en tu plantilla XSL.

Espero que esta solución te ayude a evitar que la segunda tabla se divida en dos páginas y se pase entera a la segunda página si no cabe en la primera. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar