Hola:
Escribí el otro dia en relación con la velocidad al dibujar capas.
He decidido tomar otra alternativa para intentar que se dibujen más rápido.
El problema era el siguiente: Tengo un documento(p.e. un presupuesto), el cual tendrá una cantidad
variable de detalles. Dependiendo de la cantidad de detalles, al imprimir el presupuesto, este tendrá
más o menos páginas. En cada página dibujaré distintas secciones (Encabezado, pie de página, etc,...).
Lo que hago hasta ahora es en ASP hacer una capa con <div> para cada línea de detalle. Después en el
cliente, en JavaScript, lo que hago es posicionar dichas líneas donde corresponda. Además, una vez en
el cliente puedo saber lo que van a ocupar las líneas (offsetLeft,offsetWidth,...) y por lo tanto puedo
dibujar tantos Encabezados como páginas vaya a tener, tantos pies de página, etc.
El problema es que dibujar estas capas en el cliente va muy lento.
Para los detalles hago algo parecido a esto en el servidor:
<div name="capa<%=num%>" id="capa<%=num%>" style="position:absolute;z-index:2">
<table><tr>
<td align="<%=alineacion%>" style='width=<%=anchoCelda%>mm;' CLASS=E<%=seccion%>><%=DATO%></td>
</tr></table>
</div>
Después en el cliente calculo el número de páginas que ocupan dichos detalles y después dibujo encabezados,...
¿Hay alguna forma de conocer en el servidor la altura que ocupará dicha capa?
La capa puede tener diferentes estilos, tamaños, tipos de letra,...
Por lo tanto, tendría que conocer en el servidor la altura(Números de lineas,...) que tendrá una capa
dependiendo de parámetros como los arriba descritos.
Quizás no haya una propiedad que pueda utilizar, pero a lo mejor alguien conoce una función que dado un texto,
un ancho de capa,un estilo, un tamaño de letra,... devuelva el número de líneas o la altura que ocupará en el cliente.
Gracias,
JMAN