PDA

Ver la Versión Completa : Maestro-detalle sin DataSet en QuickReports


Jan_polero
09-04-2005, 01:28:11
Hola a todos. Necesito imprimir presupuestos en QuickReports. Tengo una tabla con las cabeceras y otra con las líneas (a base de datos es Access). Lo que ocurre es que aunque es un maestro-detalle todo el control lo hago yo por código. Al intentar crear el informe no consigo que se muestre más de una línea del presupuesto, ya que el QuickReport no tiene dataset. Lo que Pretendo es ir recorriendo los registros de una query ( con las líneas del presupuesto) e imprimiéndolos en una banda, pero no sé de qué tipo deben ser para que se imprima la banda más de una vez. Ahora mismo tengo:

- Un ColumnHeader con la cabecera del presupuesto.
- Un Detail con qrlabels que les cambio el caption para las líneas.

Espero podais ayudarme.Un saludo y gracias por adelantado.

droguerman
09-04-2005, 20:24:25
cuando el dataset no está asignado cada banda en el quickReport usa el evento onNeedData, el cual tiene un Parametro Boolean llamado Moredata mientras sea true imprime resultados. En ese evento puedes escribir en el caption de los qrlabels lo q deseas imprimir.

no tengo ahorita un ejemplo a la mano pero en los demos del quickreport q vienen con delphi puedes encontrar uno

Jan_polero
18-04-2005, 17:28:37
Gracias, DroguerMan. El informe me funciona a la perfección. Al menos en el Preview. El caso es que al imprimirlo no se ven las líneas. Dependiendo de la Query que asigne el dataSet se muestra un tipo de linea u otra (Tengo dos TQuery, una con cada tipo de linea de detalle). Nunca me había pasado eso. En el preview se ve perfectamente pero al pasarlo al papel sólo se muestran las líneas de la Query que le he asignado al dataSet del Report ( Si no le asigno ninguna no se ve ninguna de las dos). Y uso el evento OnNeedData!! Si alguien puede echarme una mano lo agradecería. Un saludo.

Lepe
19-04-2005, 00:58:43
Si es un Maestro-Detalle, debe poder hacerse (aún haciendo virguerías) con QR sin problemas.

Los datos "Maestros", la imprimes en el Header usando la propiedad Dataset del QuickReport.

Los datos "Detalles", la imprimes en una banda SubDetail, todos los QRDBTEXT apuntan a tu tabla/consulta de detalles.

..Y la banda Detail te la comes con papas, es decir, que no la pones.

Espero te sirva.