Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2003
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
Qreport Sobre Un Formulario

Estoy armando un qreport que debe imprimirse sobre un
formulario.
Tengo un Groupheader, un SubDetail y un GroupFooter.
Necesito que el SubDetail ocupe siempre la misma cantidad de lineas sin importar la cantidad de lineas del subdetail.
Esto es para que "calce" dentro del formulario.
Como hago?.
Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 30-06-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Con las líneas creo que no hay nada que hacer, prueba con altura.

Es decir si quieres que siempre mida una longitud determinada.

MiSubdetail.Height:=LoQueSea;

Puedes incluso darle dicha medida en tiempo de diseño.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 01-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Otra idea es tener una variable global que vas incrementando en el GeforePrint de la banda. Cuando este llega al numero que tu quieres, pones la propiedad ForceNewPage a true y luego la vuelves a poner a false reiniciando el contador

Código:
procedure TDbGrid.QRSubDetail1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     if QRSubDetail1.ForceNewPage then
      begin
          QRSubDetail1.ForceNewPage := false;
          Conta := 0;
      end;
     inc(Conta);
     if Conta = TuNumero then
        QRSubDetail1.ForceNewPage := true;
end;
No lo he probado, pero la idea seria asi mas o menos
Responder Con Cita
  #4  
Antiguo 01-07-2003
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
marcos zorrilla:
Si modifico a altura de la banda del subdetail, lo que hago es ampliarle la altura de cada linea que imprime, y no del espacio asignado para todas las lineas. Es decir, si tengo altura = 5, cada linea ocupa 5 si la llevo a 20, entonces cada linea del subdetail estara ocupando 20. No pude encontrar como hacer para fijar el espacio total que ocupara todo el detalle.
cadetill:
ok, buena idea, me sirve para los casos en los cuales la cantidad de lineas es mayor de lo que yo quiero imprimir.
Pero si por ejemplo quiero que el espacio sea para 10 lineas, si tengo 15 registros, perfecto en el 10 corta. Pero si tengo 3 registros, los otros 7 no los voy a tener nunca, y comenzara automaticamente a imprimir el GroupFooter.
Quizas si pudiese hacer que se agreguen las 7 lineas restantes en blanco, pero no se como hacerlo, se podra agregar alguna banda que se maneje a mano. Es decir, yo la comienzo a imprimir y la imprimo la cantidad de veces que quiera.??

Gracias por sus ayudas, y espero mas.

Gracias
Miguel
Responder Con Cita
  #5  
Antiguo 01-07-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Se me ha ocurrido sobre la marcha, al leer tu respuesta, si por un casual funcionara me lo dices.

Pon un segundo Subdetail o una banda para subtotales, enganchado como el primero.

En el evento BeforePrint del Primero, en el que estarán las líneas reales cuentas cuantas líneas tiene y en virtud de esto le das la dimensión al segundo que solamente tendrá la misión de ocupar espacio debajo del anterior.

Un Saludo.
Responder Con Cita
  #6  
Antiguo 01-07-2003
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
A ver si te entiendo:
Tengo ahora el subdetail1.
Agrego un subdetail 2, enganchado con el primero y le asigno al subdetail 2 una altura standard en tiempo de diseño, y no le agrego ningun campo ni siquiera le relacion una tabla.
En tiempo de ejecucion
en el before del subdetail1, cuento las lineas que voy imprimiendo.
En el afterprint del subdetail2, segun la cantidad de lineas que conto el 1, calculo la altura del subdetail2, cuanto mas lineas imprimio menos altura le doy.

Esto es lo que sugeris?

Lo pruebo y te aviso.
Gracias
Miguel
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:40:49.


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
Copyright 1996-2007 Club Delphi