Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con ubicación de QRDBText en un Quick Report (https://www.clubdelphi.com/foros/showthread.php?t=61774)

Eyewitness 21-11-2008 14:04:40

Problema con ubicación de QRDBText en un Quick Report
 
Hola, foreros.

En la detail band de mi informe tengo, en tiempo de diseño, cinco QRDBText conectados a los cinco campos de un TQuery. El primero de esos QRDBText corresponde al enunciado de una pregunta, y los cuatro siguientes a cada una de las posibles respuestas.

Cuando la altura de uno de ellos (por ejemplo, el de la pregunta) es mayor que la establecida en design time, el control varía su altura (gracias a que autosize=false, wordwrap=true y autostretch=true).

Pero el problema que me trae loco es que entonces, el siguiente QRDBText (en este caso el de la opción A), parece "flotar" dentro de la banda y no baja. No hay manera de reubicarlo verticalmente.

¿Alguien sabe cómo hacer esto en un Quick report?

Pistas: He probado a variar la propiedad Top de los QRDBText en el evento BeforePrint de la banda, y en el OnPrint de cada uno de ellos, pero no hay manera. Es como si hasta justo antes de imprimir, QuickReport no combinase los registros, y no sé qué evento tengo que buscar para leer la altura real del control DESPUÉS de que éste se haya autostretched.

Me encomiendo a los expertos en mi desesperación. Gracias 1k.

ContraVeneno 21-11-2008 16:29:02

hasta donde yo se, la banda "Detail" no está diseñada para tener ese funcionamiento, es por eso que te pasa eso de que el siguiente DBTExt 'flota'. Según lo que he leído de Quickreports, esa funcionalidad de hacer que el DBText "crezca" hacia abajo, solo debe usarse si este se encuentra dentro de una baja hija (ChildBand), eso es para que esa banda hija, crezca al mismo tiempo que lo hace el DBText.

Pero como dije, todo lo que he visto o leído, se refiere a solo una banda hija y uno o dos DBText. No se como se pueda aplicar esto a una banda detalle la cuál puede tener muchos elementos.

Eyewitness 21-11-2008 17:26:46

Pues lo he resuelto finalmente, y gracias a tí, ContraVeneno. No sabes lo agradecido que te estoy por haberme puesto sobre la pista.

No podía creer que un tipo de informe tan sencillo como imprimir X preguntas tipo Trivial Pursuit me resultase tan complicado, por culpa de la extensión variable de los textos... vamos, es que supongo que será de los primeros escenarios que se pongan los desarrolladores de estos componentes, digo yo.

Tu información sobre el uso de las bandas hija me hizo profundizar más en ellas, olvidándome de arreglar el asunto a codigazo limpio, como intentaba. Finalmente, la estructura que me ha funcionado es:

-Una detail band con el enunciado de la pregunta.
-Una banda hija para cada una de las opciones de respuesta, siendo su madre la banda inmediatamente anterior, es decir, la banda madre de la opción D es la C, la de la C la B,... y la de la A la sería la que contiene el enunciado de la pregunta.

Por último, cambié a todas estas bandas el PrintOrder a cboAfterParent, y asunto resuelto.

Gracias de nuevo, ContraVeneno... ya estaba bien, tres días a jornada completa :confused: con el temita...


La franja horaria es GMT +2. Ahora son las 03:41:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi