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