Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: alexarmato66 - Febbraio 25, 2023, 09:39:27 pm

Titolo: CompositeReport di LAZREPORT
Inserito da: alexarmato66 - Febbraio 25, 2023, 09:39:27 pm
Ho provato ad utilizzare CompositeReport per assemblare una relazione di calcolo.
La mia necessità è di utilizzare questo componente per 'appendere' al report di base(Relaz_A) una serie di report di verifica (Relaz_B).
Purtroppo utilizzando il componente CompositeReport non sono riuscito ad aggiornare i successivi report ossia
viene aggiunto solo l'ultimo report calcolato.
Codice: [Seleziona]
  //*****************************************************
     if form1.CheckBox3.Checked=false then
  begin
     frReport1.LoadFromFile('Relaz_A.lrf');
     frReport1.PrepareReport;


     frCompositeReport1.Reports.Add(frReport1);

    end;



    if form1.CheckBox3.Checked=true then
  begin

          frReport2.LoadFromFile('Relaz_B.lrf');
          frReport2.PrepareReport;

      frCompositeReport1.Reports.Add(frReport2);


   end;



     frCompositeReport1.ShowReport;
        frCompositeReport1.Clear;
  //******************************************************************** 



Titolo: Re:CompositeReport di LAZREPORT
Inserito da: tito_livio - Febbraio 26, 2023, 07:17:10 pm
Ciao, a me funziona, cioè mi unisce report diversi.
Però forse ho capito qual è il tuo problema.
Tu usi delle variabili in ogni report, queste variabili però vengono riempite tutte insieme al momento in cui visualizzi il report composito con .showreport e non, come ci si aspetterebbe, quando tu esegui .preparereport.
Penso che devi differenziare l'evento OnGetValue di ogni report, nel tuo caso di frReport1 e frReport2.

Spero di essere stato chiaro e d'aiuto.

Titolo: Re:CompositeReport di LAZREPORT
Inserito da: alexarmato66 - Febbraio 27, 2023, 12:59:24 pm
Proprio così Tito_Livio. Ci proverò .Grazie.