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 05-01-2007
rosodo1 rosodo1 is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
rosodo1 Va por buen camino
Informe de QuickReport en Ejecucion

Estoy creando un informe de QuickReport 3.0.9 en Ejecucion en el cual voy introduciendo los campos que me convienen en cada momento con TQRDBText en un TQRBand-Detail y el titulo del campo con un TQRLabel en un TQRBand-Column Header . El problema es que solo veo el titulo del informe pero no aparecen ni los titulos de los campos ni el contenido.

El codigo seria algo asi:
begin
columnas := Grid.Columns.Count;
SetLength(Etiquetas, columnas);
SetLength(Campos, columnas);
For ite := 0 to columnas - 1 do
begin
Etiquetas[ite] := TQRLabel.Create(Q2Cap);
Campos[ite] := TQRDBText.Create(Q2Detalle);
//Etiquetas
Etiquetas[ite] := QRLabel1;
Etiquetas[ite].Caption := Grid.Columns[ite].Title.Caption;
Etiquetas[ite].Width := Grid.Columns[ite].Field.DataSize;
//Etiquetas[ite].Top := QRLabel1.Top;
Etiquetas[ite].Transparent := false;
//Etiquetas[ite].Enabled := True;
//Etiquetas[ite].Frame := QRLabel1.Frame;
//Etiquetas[ite].Height := QRLabel1.Height;
//Etiquetas[ite].Font := QRLabel1.Font;
//Etiquetas[ite].Size := QRLabel1.Size;
If ite > 0 then
Etiquetas[ite].Left := Etiquetas[ite-1].Left + Etiquetas[ite-1].Width + 20
else
Etiquetas[ite].Left := 0;
//Campos
Campos[ite] := QRDBText1;
Campos[ite].DataSet := DM.QInforme;
Campos[ite].DataField := DM.QInforme.FieldList.Fields[ite].FieldName;
Campos[ite].Width := Etiquetas[ite].Width;
//Campos[ite].Top := 0;
Campos[ite].Left := Etiquetas[ite].Left;
Campos[ite].Visible := true;
Campos[ite].Transparent := False;
end;
DM.QInforme.Active:=True;
end;


¿Sabeis que falta o donde esta el error?

Gracias
Responder Con Cita
  #2  
Antiguo 05-01-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
¿Esta Abierto el dataset?? Si es un query, ¿Devuelve algo? Lo que te sale es debido a que el dataset no contiene nada..
__________________
AKA "El animalito" ||Cordobés a mucha honra||

Última edición por AzidRain fecha: 05-01-2007 a las 06:39:41.
Responder Con Cita
  #3  
Antiguo 05-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Veo 2 errores:
Código Delphi [-]
Etiquetas[ite] := TQRLabel.Create(Q2Cap);
Campos[ite] := TQRDBText.Create(Q2Detalle);
//Etiquetas
Etiquetas[ite] := QRLabel1;

O sea, primero en etiquetas[ite] creas un qrlabel, y después dices etiquetas[ite]:= qrlabel1... pues te acabas de cargar la etiqueta que creaste antes. Bueno en realidad no, la etiqueta que creaste al principio, se quedará en memoria, pero no podrás acceder a ella para asignarle las propiedades.

cuando a continuación haces:
Código Delphi [-]
Etiquetas[ite].Caption := Grid.Columns[ite].Title.Caption;
Etiquetas[ite].Width := Grid.Columns[ite].Field.DataSize;
realmente estas cambiando las propiedades al QRLabel1 no al que creaste anteriormente!!!.

Por otra parte no veo que asignes el Parent de los controles que creas en ejecución, así que no aparecen jamás en la banda detalle.

Busca por el foro, hay mucho código sobre eso.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 05-01-2007
rosodo1 rosodo1 is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
rosodo1 Va por buen camino
Gracias por las rapidas respuestas. Aunque os comento:

El dataset esta abierto y contiene varios registros. Lo visualizo antes en un DBGrid.

Código Delphi [-]
Etiquetas[ite] := TQRLabel.Create(Q2Cap);
Campos[ite] := TQRDBText.Create(Q2Detalle);
//Etiquetas
Etiquetas[ite] := QRLabel1;

Tienes razon, pero fue la ultima prueba que hice, realmente el codigo era sin la ultima linea, pero probe eso simplemente para comprobar que al menos visualizaba algo en ese QRLabel ya creado en vista diseño.
En cuanto al parent, ¿No se lo estoy asignando en el create?
TQRLabel.Create(Q2Cap)Mirare en los foros aunque la verdad es que no encontre nada que me ayudara.

Gracias de nuevo.
Responder Con Cita
  #5  
Antiguo 05-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
No. Lo que asignas es el AOwner (quien destruirá el componente), pero no dices donde se ha de situar ese qrLabel (sobre el Quickreport, sobre la banda cabecera, sobre la banda detalle....).

Código Delphi [-]
Etiquetas[ite] := TQRLabel.Create(Q2Cap);
Etiquetas[ite].Parent := banda detalle

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 05-01-2007
rosodo1 rosodo1 is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
rosodo1 Va por buen camino
Jojo, ahora si. Que burro. Convencido que era el parent lo que le asignaba en el creador. Perfecto, millones de gracias a todos.

Seguimos por aqui.
Responder Con Cita
  #7  
Antiguo 08-01-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Te paso un código que escribí con inestimable colaboración del foro.

Genera cualquier reporte con la llamada a la función generarlistado. El origen de los datos es una query , cualquiera.
Para utilizarlo, descomprime los archivos y añadelos a tu proyecto. Desde donde quieras imprimir llama a la función con los parametros requeridos.

Espero que te sea de ayuda.

Un saludo
Archivos Adjuntos
Tipo de Archivo: zip reportes.zip (6,2 KB, 41 visitas)
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #8  
Antiguo 09-01-2007
rosodo1 rosodo1 is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
rosodo1 Va por buen camino
Ok, probare tu solucion aunque ya me funciona. Gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas en un informe con QuickReport Goyo SQL 3 29-09-2006 17:52:48
No imprimir informe vicvil Impresión 1 30-07-2005 01:02:18
Totales en informe Asshole Impresión 1 16-06-2005 15:33:05
Enviar parametros a un informe (QuickReport) Lionel Impresión 1 08-06-2004 15:25:45
Ayuda con informe en QR mosorio Varios 2 23-07-2003 19:47:09


La franja horaria es GMT +2. Ahora son las 23:45:08.


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