PDA

Ver la Versión Completa : PowerPDF


Viet
12-08-2003, 20:46:04
Buenas Colegas!

Mi pregunta es simple, estoy trabajando con las componentes PowerPDF , en donde estoy generando determinados reportes apartir de un detalle en donde la cantidad de registros varia y por ende el mismo puede ser de varias paginas.

Mi pregunta es como puedo poner el numero de pag, dado que no encuentro el modo de hacerlo en el metodo BeforePrintChild, que es el que uso para generar los registros en el reporte.:confused:

Muchas Gracias por su Tiepo!!!;)

Viet
02-09-2003, 17:24:09
la solucion seria algo asi:

with pdf do
begin
FileName := nomArch;

// starting printing document.
BeginDoc;

sp.ParamByName('@id_cuenta').AsInteger := idCuenta;
sp.ParamByName('@desde').AsDate := desde;
sp.ParamByName('@hasta').AsDate := hasta;
sp.Open;

cantpag := sp.RecordCount div PRGridPanel1.RowCount;
if (sp.RecordCount mod PRGridPanel1.RowCount)>0 then
inc(cantpag);

pag := 1;
while not sp.Eof do
Print(PRPage1);

// save document.
EndDoc;
sp.Close;
end;
finally
Screen.Cursor := crDefault;
end;

procedure TfmStatement.PRGridPanel1AfterPrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
inc(pag);
end;

procedure TfmStatement.PRLayoutPanel1BeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
laPag.Caption := 'Page '+IntToStr(pag)+' of '+IntToStr(cantpag);
end;