Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresion en delphi (https://www.clubdelphi.com/foros/showthread.php?t=47570)

luketas 31-08-2007 18:22:12

Impresion en delphi
 
Hola Amigos, necesito que me ayuden en lo siguiente.... tengo que sacar un reporte, el problema es que tengo los datos que necesito imprimir en un array dinamico, ejecuto un for y voy tirando los datos en el subdetail campo por campo, el problema es que no se como hacer para que la banda desarrolle otra linea por cada registro del array, se q cuando lo hago desde un data set la grilla se expande sola.... mil gracias por su ayuda!!!:(

ElKurgan 31-08-2007 20:35:32

No explicas en que gestor de informes estás generando el report. Si estás usando QuickReport, entonces la solución pasa por capturar el evento "OnNeedData". Desconozco cómo pueden realizar esto otras herramientas generadoras, lo siento.

Un saludo

luketas 31-08-2007 20:48:14

Hola!! es verdad no especifiique nada, estoy usando delphi 6 y trabajo con quickrep... me podrias explicar como capturo y uso el evento onNeedData? Gracias KURGAN por todo!

fjcg02 31-08-2007 22:42:13

Con el ejemplo de QuickReport te viene un caso específico de NeedData.
El ejemplo está en \directorio de dephi\Demos\Quickrpt\Q3

El archivo es concretamente needdata.pas

Revisalo y nos cuentas.

Saludos

luketas 06-09-2007 18:13:45

...estoy usando el evento onneeddata como recomendaron solo que cuando previsualizo la impresion los registros no muestran nada, y si hago un paso a paso del programa, al evento needdata nunca ingresa! de que me estoy olvidando?? muchas gracias por su ayuda!

eduarcol 06-09-2007 18:37:37

te recomendaria que usaras tablas de memorias, hacen la vida mas sencilla, en lugar de vaciarlo al detail lo vacias a la tabla

luketas 07-09-2007 15:55:39

Aca les muestro los procedimientos y su codigo... no entiendo porque el programa no ingresa al need data, que estoy haciendo mal? mire un par de ejemplos y los resuelven de la manera q lo hago, pero al no ingresar al procedim, ovbiamente los campos se imprimen vacios, me pueden dar algun otro ejemplo?

procedure TRptAsistHsSuplementarias.QuickRepNeedData(Sender: TObject;
var MoreData: Boolean);

begin
QrlNombre.Caption := FrmVentImpAsist.arrayExtension[i].ApeNombre;
QrlNroLeg.Caption := IntToStr(FrmVentImpAsist.arrayExtension[i].NroLeg);
QrlExtJor.Caption := FrmVentImpAsist.arrayExtension[i].hsExtJor;
QrlNombre2.Caption := FrmVentImpAsist.arrayExtension[i].ApeNombre;
QrlNroLeg2.Caption := IntToStr(FrmVentImpAsist.arrayExtension[i].NroLeg);
Qrl50.Caption := FrmVentImpAsist.arrayExtension[i].hs50;
Qrl100.Caption := FrmVentImpAsist.arrayExtension[i].hs100;
MoreData:= i <= FrmVentImpAsist.cantRegArray-1;
i:= i+1;
end;

procedure TRptAsistHsSuplementarias.QuickRepStartPage(
Sender: TCustomQuickRep);
begin
i:=0;
end;

hmrvivas 09-09-2007 15:22:01

solucionalo asi
 
como tu reporte es manual, debes activar primero que todo el evento BeforePrint, y en el inicias tu variable i y ademas estableces la variable printReport = true;

Luego en tu reporte colocas una banda Detail.
En la banda Detail colocas tus QRLabel.

El evento OnNeedData lo dejas como estas, teniendo en cuenta que el moredata debe actualizarse en cada registro que ingresas a la banda detail.

Espero te sirva esto, yo lo hago y me funciona.

luketas 10-09-2007 19:30:47

Bueno! ufff despues de tanto luchar con los reportes llegue a la conclusion de que lo que yo queria hacer no se puede! osea imprimir en una misma hoja registros de un data set con registros de un arreglo que trabajo en forma paralela. Probe de mil maneras y el unico resultado posible fue crear otro reporte solo para los datos del arreglo, eso si con la gran ayuda que me dieron los que participaron en el tema! desde ya muchas gracias a todos! y si tienen algo q aclarar al respecto bienbenido sea!! saludos!!


La franja horaria es GMT +2. Ahora son las 07:37:05.

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