Ver Mensaje Individual
  #4  
Antiguo 01-02-2006
ZRR ZRR is offline
Miembro
 
Registrado: jun 2005
Posts: 39
Reputación: 0
ZRR Va por buen camino
Exclamation

Puedes poner en tu componente TQuickRep 1 DetailBand (TQRBand) y dentro del DetailBand 4 TQRLabel. En el metodo QuickRep1BeforePrint inicializas tu variable global "CurrentItem" con el que controlarás la linea de tu StringGrid donde se te encuentras al ir imprimiendo cada renglon:

Código:
procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
CurrentItem := 0; // Puntero de la lista a imprimir
end;
...
//por ejemplo, si los datos estan en un arreglo:
procedure TForm1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
 //si hay mas datos, QuickReport imprimirá otra banda de detalle
 MoreData := CurrentItem < High(arr);
 if MoreData then
 begin
  QRLCliente.Caption:=arr[CurrentItem,0];
  QRLFecha.Caption:=arr[CurrentItem,1];
  QRLNumero.Caption:=arr[CurrentItem,2];
  QRLImporte.Caption:=arr[CurrentItem,3];
 end;
 Inc(CurrentItem);
end;
Con algo similar imprimirá el contenido del StringGrid.
Espero te sirva

Yo lo solucioné así pero tengo problemas si intento agrupar por Cliente por ejemplo, no he podido agrupar que cada que sea un cliente diferente, muestre la suma del importe para el cliente, imprima el encabezado de las columnas para el siguiente cliente y su total y asi sucesivamente, Alguien sabe como hacerlo?

Saludos
Responder Con Cita