PDA

Ver la Versión Completa : Reporte con varias paginas (Rave)


Alexander
23-11-2006, 17:25:19
Tengo un reporte con tres paginas, siempre debo mostras las tres.

Utilizo SetParam(Param1,Dato) para cambiar los datos del reporte, pero siempre me muestra los utimos datos.

El problema es que no he podido hacer que me muestre las tres paginas.

He utilizado el siguiente codigo para hacer pruebas, pero me aborta al hacer cambio del texto.


var
MyPage: TRavePage;
MyText1: TRaveText;
begin
RvProject.Engine := RvSystem;
RvProject.open;
With RvProject.ProjMan do
begin
MyPage := FindRaveComponent('Sobre.Page1',nil) as TRavePage;
MyText1 := FindRaveComponent('Text1',MyPage) as TRaveText;
MyText1.Text := 'El Texto';
end;



Me pueden dar una manito por favor.

Muchas gracias

mlara
26-11-2006, 02:48:11
Espero que esto te sirva...

En uno de mis reportes yo abro el proyecto, selecciono el reporte, fijo parámetros, y luego asigno:

RvProject.Engine := RvNDRWriter;

No uso el RvSystem.

Luego, llamo el Execute del RvNDRWriter y no del RvProject, ya que es en el evento OnPrint del RvNDRWriter donde se llama varias veces el método Execute del RvProject:

RvNDRWriter.Execute;

y luego, en el evento OnPrint del RvNDRWriter escribo un bucle (en tu caso de tres iteraciones), hago las consultas pertinentes, asigno nuevo valor a los parámetros, ejecuto el proyecto, y llamo el método NewPage.


with Sender as TBaseReport do begin
RvProject.Execute;
if I <= 3 then
NewPage;
end;

Sender es el parámetro del evento OnPrint.