Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

fastreport - pitanje oko kombinovanja

[es] :: Pascal / Delphi / Kylix :: fastreport - pitanje oko kombinovanja

[ Pregleda: 1727 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

priki

Član broj: 24732
Poruke: 700
*.datalab.si.

ICQ: 174153511


+26 Profil

icon fastreport - pitanje oko kombinovanja27.07.2009. u 10:59 - pre 178 meseci
Zdravo

imam jedno pitanje oko fastreporta, ako je neko imao taj primer

imamo ručno generisan fastreport,, uopšte nema dataset na njemu, nijedan,
sadrži jednu našu komponentu, recimo da je slika, neki tekst ispod, može biti na
jednoj ili proizvoljnom broju strana

sad bi na takvu strukturu reporta trebali dodati stranicu ili više njih koji
sadrže dataset u sebi, sa nekog drugog izveštaja
(na neki način združujemo više izveštaja u jedan)

e sad, pošto nisam uspeo sa :
Code:

<fastreport>.PreviewPages.AddFrom(<fastreport>);


moje pitanje je da li je ovo uopšte izvodljivo ?

hvala
Srđan
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.adsl-a-1.sezampro.yu.



Profil

icon Re: fastreport - pitanje oko kombinovanja27.07.2009. u 12:03 - pre 178 meseci
Davno sam radio kombinaciju više report - a u jedan, pomoću PReport - a. Verujem da se tako nešto može odraditi i sa FastReport - om.

Dakle, više report - a se integrišu u jedan pomoću TMemoryStream, pa se iz njega puni jedan prazan report, odnosno jedan report se učita u TMemoryStream pa se privremeni prazan report napuni s njim, potom u TMemoryStream se učita drugi report pa se u taj privremeni samo nadoveže na predhodni na novoj stranici i tako koliko god ima potrebe.

Nešto slično:
Code:

//promenljiva
var
  MS : TMemoryStream;
//spremljen report
if Report.PrepareReport then begin
  //Privremeno čuvanje aktivne stranice u strim
  Report.SavePreparedReport(MS);
  MS.Seek(0, soFromBeginning);
  //Dodavanje aktivne stranice na kraj finalnog izveštaja
  ReportTemp.AppendPreparedReport(MS);
  //praznimo varijablu
  MS.Clear;
  //praznimo report
  Report.ClearPreparedReport;
end;

Ako sam dobro razumeo pitanje...
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
*.datalab.si.

ICQ: 174153511


+26 Profil

icon Re: fastreport - pitanje oko kombinovanja27.07.2009. u 12:57 - pre 178 meseci
ideja radi i mogu ti reći da je odlična

samo kao sto sam pretpostavio, izvor podataka će biti problematičan
jer se mora kombinovati više izvora podataka na jedan izveštaj

ako nekome zatreba

Code:

          for i := 0 to FReportList.Count - 1 do begin
            msSource.Clear;
            for j := 1 to TfrxReport(FReportList.Objects[i]).PagesCount-1 do begin
              msSource.Clear;
              TfrxReport(FReportList.Objects[i]).Pages[j].SaveToStream(msSource);

              frPage := TfrxReportPage.Create(Self.FastReport);
              frPage.CreateUniqueName;
              frPage.SetDefaults;
              frPage.Orientation := poPortrait;
              msSource.Seek(0, soFromBeginning);
              frPage.LoadFromStream(msSource);
            end;


[Ovu poruku je menjao priki dana 27.07.2009. u 14:17 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: fastreport - pitanje oko kombinovanja

[ Pregleda: 1727 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.