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

Quick Report i Borland6 - ukupan broj stranica izvestaja

[es] :: C/C++ programiranje :: Quick Report i Borland6 - ukupan broj stranica izvestaja

[ Pregleda: 2523 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tokajac

Član broj: 93240
Poruke: 123
89.216.113.*



+5 Profil

icon Quick Report i Borland6 - ukupan broj stranica izvestaja28.01.2008. u 23:26 - pre 197 meseci
Hocu da u dnu svake stranice imam naveden redni broj stranice i ukupan broj stranica odredjenog izvestaja
(nesto kao: 1 out of 7 ili 1/7).
Do rednog broja sam dosao preko QRSysData: Properti Data postavim na qrsPageNumber -sve OK!

Nisam (jos) provalio kako da dobijem ukupan br stranica.
Jel treba da se Prepare-uje report?

Da li navedene komponente treba ubaciti u Page Footer ili je dovoljno samo zakucati ih direktno na QuickRep1?


Pozdrav!
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Quick Report i Borland6 - ukupan broj stranica izvestaja29.01.2008. u 06:47 - pre 197 meseci
Ne znam napamet ali pogledaj TQRSysData::Data = qrsDetailCount

EDIT:

A ima i to sa Prepare /pseudo kod/:

PREPARE()
NekaLabela/Promenljiva = QR->QRPrinter->PageCount;


[Ovu poruku je menjao X Files dana 29.01.2008. u 08:01 GMT+1]
 
Odgovor na temu

tokajac

Član broj: 93240
Poruke: 123
89.216.113.*



+5 Profil

icon Re: Quick Report i Borland6 - ukupan broj stranica izvestaja29.01.2008. u 20:12 - pre 197 meseci
TQRSysData::Data = qrsDetailCount vraca vrednost 0, kod mene (i to ispisuje na izvestaju). -nije dobro


Gde tacno treba redefinisati Prepare()? tj. dodati QRLabel13->Caption = QuickRep1->QRPrinter->PageCount;?

Code:

  DataModule2->DSIzv1->DataSet->Open();
//  izv->QuickRep1->Prepare();     <----------------pretpostavljam da ovde ide Prepare
  izv->QuickRep1->Preview();


Nasao sam josh jedan nacin za postavljanje broja stranice.
U Event OnStartPage staviti:
Code:

QRLabel13->Caption = QuickRep1->QRPrinter->PageNumber;



I dalje nedostaje ukupan br stranica. Problem josh na snazi.

[Ovu poruku je menjao tokajac dana 29.01.2008. u 21:26 GMT+1]

[Ovu poruku je menjao tokajac dana 29.01.2008. u 21:26 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Quick Report i Borland6 - ukupan broj stranica izvestaja29.01.2008. u 20:45 - pre 197 meseci
Pozdrav,

Ono za:
TQRSysData::Data = qrsDetailCount
... zaboravi. To je za broj stavki neke liste (detalja), a ne za broj stranica. Moja greška.


Za broj stranica probaj nekako ovako (opet pseudo). Napravi neki property (int) u headeru, recimo broj_stranica;

// dajes formi neki naslov
QuickRep1->ReportTitle = ...;

// prepare
QuickRep1->Prepare();

// broj stranica
broj_stranica = QuickRep1->QRPrinter->PageCount;

// stampa
QuickRep1->PreviewModal();

// Prethodno u OnPrint dogadjaju recimo na nekoj labeli u PageFooter-u stavi
QRLabel1->Caption = "Strana " + IntToStr( QuickRep1->QRPrinter->PageNumber ) +' / ' + IntToStr( broj_stranica );



[Ovu poruku je menjao X Files dana 29.01.2008. u 21:57 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Quick Report i Borland6 - ukupan broj stranica izvestaja29.01.2008. u 21:07 - pre 197 meseci
Predajem se :)

Sad sam probao u nekom projektu, i video sam sledece:

OnStartPage() je dovoljan za formiranje dela stringa potrebanog za broj stranice (QuickRep1->QRPrinter->PageNumber)
OnPrint() konkretne QRLabel-e (u footeru recimo) je dovoljan za formiranje dela stringa potrebnog za ukupan broj stranica (QuickRep1->QRPrinter->PageCount)

Drugim rečima, nešto ovako:

Code:

void __fastcall TRPlacanjeForm::QuickRep1StartPage(TCustomQuickRep *Sender)
{
   QRLabel2->Caption = IntToStr(RPlacanjeForm->QuickRep1->QRPrinter->PageNumber);
}
void __fastcall TRPlacanjeForm::QRLabel1Print(TObject *sender,
      AnsiString &Value)
{
   QRLabel1->Caption = IntToStr( RPlacanjeForm->QuickRep1->QRPrinter->PageCount );
}


E sad, ovo se dvoje moze sastaviti radi prikaza, mada definitivno moze i neko bolje resenje koje sad nemam vremena da istrazujem.

Ajd' ako rešiš problem, molim te postavi ovde ceo kod.
 
Odgovor na temu

tokajac

Član broj: 93240
Poruke: 123
89.216.113.*



+5 Profil

icon Re: Quick Report i Borland6 - ukupan broj stranica izvestaja29.01.2008. u 21:36 - pre 197 meseci
-Postavio QRSysData u dno stranice i za Property Data postavio qrsPageNumber za broj trenutne stranice;

-'zakucao' QRLabelx u dno stranice
-u Event OnPrint QRLabelx-a stavio:
Code:

   QRLabelx->Caption = IntToStr(QuickRep1->QRPrinter->PageCount);   



-prilikom otvaranja izvestaja:
Code:

  DataModule2->DSIzv1->DataSet->Open();
  izv->QuickRep1->Prepare();                           <------neophodno pozvati!
  izv->QuickRep1->Preview();



Kod mene proradilo.


Hvala na pomoci X Files. Pozdrav!

P.S.
Prepare() je i ovde korsitan (ne samo na ispitima) :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: Quick Report i Borland6 - ukupan broj stranica izvestaja

[ Pregleda: 2523 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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