Espero tengas el código fuente de Rave, o mira en su web a ver cómo se crea un informe en tiempo de ejecución y cómo se configura.
No sé si habrá algún componente o rutina que lo encapsule. QuickReport tenía la rutina qrCreateList, Rave, será totalmente distinto, pero:
- O tiene ya una rutina que lo haga dentro de una unidad un poco escondida.
- O tiene algún ejemplo de cómo empezar.
El código suele ser así:
Código Delphi
[-]
var R:TRaveReport
Banda : TRaveBand
Data :Tdataview;
begin
R := TraveReport.Create(self);
R.Dataset := query1; Banda := R.Bands.Add;
Banda.BandType := bandaDetalle;
for i:=0 to query1.fields.count-1 do
begin
Data := Banda.Addcomponent(Tdataview);
Data.SetBound (0, 60* i + 3 , 60, 20);
Data.Expression := query1.Fields[i].FieldName;
end;
R.ShowReport;
R.Free;
end;
Me he inventado 3/4 partes del código
, pero esa es la filosofía, ir creando cada banda y cada Dataview al vuelo, según los campos que se quieren imprimir.
Saludos.