Como dejar FIJO un NUMERO DETERMINADO DE RENGLONES en la banda detalle Qreport ?
#1
Posted 21 December 2010 - 07:11 PM
#2
Posted 22 December 2010 - 11:51 AM
Cuando dices que el pie de pagina se sube supongo que te refieres a los totales, es decir a la banda SUMMARY, ya que la banda de pie de página debe quedarse abajo siempre. Mira de poner a TRUE la propiedad AlignToBottom de la banda que hace de rbSummary, con eso logras que el resumen o total aparezca pegado al pie de página, no al último renglón, creo que es lo que buscas.
Saludos
#3
Posted 22 December 2010 - 04:56 PM
#4
Posted 23 December 2010 - 10:25 AM
Saludos
#5
Posted 24 December 2010 - 05:57 AM
Lo que tienes que usar es el evento OnNeedData del QuickReport. Adjunto unas units de ejemplo y la explicación de cómo funciona
Espero te sirva
Nos leemos
#6
Posted 24 December 2010 - 10:47 AM
#7
Posted 27 December 2010 - 12:51 AM
One or more lines were too long and have been truncated
Al darle aceptar al mensaje me pone basura en el fuente.
#8
Posted 27 December 2010 - 05:42 PM
Miraré a ver si encuentro alguna copia de seguridad por ahí que esté bien y te lo vuelvo a subir
Nos leemos
#9
Posted 28 December 2010 - 09:55 AM
He mirado las 2 copias de seguridad que tengo y las 2 las tengo igual, es decir, mal
Pero bueno, en el UNeedDataFrm tienes la explicación de lo que hay que hacer:
El evento OnNeedData
Este evento pertenece a la clase TQuickRep.
Con él especificamos o controlamos el final de nuestro listado gracias al
parámetro MoreData (de tipo boolean). Mientras el valor de este parámetro
sea TRUE, el listado seguirá pensando que quedan registros para imprimir
y
seguirá con la impresión de registros.
En principio, no hará falta utilizarlo nunca, sólo en aquellos casos en que
nos interese "engañar" al report en la cantidad de registros que tenemos.
En la demo que muestro, de lo que se tratará es de imprimir la línea que
separa las diferentes columnas de nuestro report hasta el final de la hoja,
sea cual sea el número de registros que tengamos.
Para ello, utilizaremos una variable global al formulario (FinPag: integer) que
nos servirá para tal efecto i que contendrá la línea de impresión actual
para
saber si llegamos o no al final de página (indicado por la constante NumLin:
integer)
La constante NumLin dependerá de la amplitud de nuestra banda de
detalle, por lo que, antes de poder darle un valor, necesitaremos hacer una
primera impresión para saber el número de líneas que cabrán en el Report.
El truco está en no asignarle al Report ningún Dataset y hacer nosotros por
código el recorrido de éste en el evento en cuestión
Lo realmente importante de toda la explicación son las 2 últimas líneas, donde dice que no hay que asignarle ningún DataSet al QuickReport.
Espero te sirva,
Nos leemos
#10
Posted 28 December 2010 - 10:59 AM
#11
Posted 28 December 2010 - 06:29 PM
procedure Tforma.QRSubDetail1NeedData(Sender: TObject; var MoreData: Boolean); begin Inc(RegReport); if RegReport = 12 then MoreData := False; end;
ó
procedure Tforma.qrFE_F2NeedData(Sender: TObject; var MoreData: Boolean); begin Inc(RegReport); if RegReport = 12 then MoreData := False; end;
#12
Posted 29 December 2010 - 07:45 AM
#13
Posted 29 December 2010 - 08:43 AM
#14
Posted 29 December 2010 - 10:24 AM
Aunque ya lo tengas solucionado, para hacer lo del NeedData, tienes que hacer el report como normalmente lo harías, con bandas detalle, qrgroup,..... Sencillamente no le asignas Dataset al report (sí a los qrdbtext).
Es para que entiendas como funciona solo
Nos leemos
#15
Posted 29 December 2010 - 11:14 AM
#16
Posted 29 December 2010 - 11:33 AM
#17
Posted 29 December 2010 - 01:38 PM