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

Borland6 QuickReport QRSubDetail resize

[es] :: C++ programiranje :: Borland6 QuickReport QRSubDetail resize

[ Pregleda: 430 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tokajac

Član broj: 93240
Poruke: 80
89.216.113.*



Profil

icon Borland6 QuickReport QRSubDetail resize30.01.2008. u 10:49

Pomocu QRSubDetail-a srchem podatke.

Radi korektno, ukoliko se preko jednog queryja mogu izvuci potrebne informacije (vezem DataSet za njega i on odradi posao).

Sad mi treba SELECT COUNT(*) i to u jednom redu vishe puta.
Npr.
ime prezime | jmbg | primanja za januar (poseban COUNT(*)) | primanja za februar(poseban COUNT(*)) | primanja za mart...

Probao sam da resize-ujem QRSubDetail, i pored njega da stavim sledeci - za svaki mesec poseban QRSubDetail, ALI nije moguce(resize nije moguc ili nisam skontao kako treba da se odradi) .

Zakucavanje vrednosti u QRLabel ili QRDBText mi deluje neozbiljno.


Kako se ovo radi? Dakle treba mi vishe DataSet-ova u istom redu. Ukoliko ima josh predoga ili korisnih linkova na ovu temu postujete ih, please!


Pozdrav!
30.01.2008. u 10:49 

itf
Zagreb

Član broj: 59794
Poruke: 703
161.53.237.*

ICQ: 337738018


Profil

icon Re: Borland6 QuickReport QRSubDetail resize30.01.2008. u 17:13
Ne vidim što tu ima biti neozbiljno. Komponente su tu da se koriste.

Ne možeš doslovice ugurati jedan dataset pokraj drugoga jer band se generira na osnovu količine zapisa u tablici. Što bi se onda trebalo desiti ako jedna tablica ima manje zapisa nego druga?
30.01.2008. u 17:13 

tokajac

Član broj: 93240
Poruke: 80
89.216.113.*



Profil

icon Re: Borland6 QuickReport QRSubDetail resize30.01.2008. u 17:38
Treba za 28 imenaprezimena da postavim postavim vrednosti za 12 meseci. Prakticno: 28x12 lebela; koje popunjavam hard-kodiranjem (za svaku labelu moram da odradim SELECT COUNT(*)).
28 imenaprezimena iscitavam preko DataSet-a. Ako ih upisujem u labele, ne mogu to raditi koristeci "while".

Da li postoji jednostavniji nacin?


Pozdrav!

[Ovu poruku je menjao tokajac dana 30.01.2008. u 19:10 GMT+1]
30.01.2008. u 17:38 

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Borland6 QuickReport QRSubDetail resize30.01.2008. u 18:39
Citat:

Ako ih upisujem u labele, ne mogu to raditi koristeci "while".

Zašto ne možeš koristiti while?
Možeš dinamički napraviti bilo koji objekat u VCL-u (pa i te QR labele), i možeš im kroz petlju vršiti bilo kakvu dodelu.

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
30.01.2008. u 18:39 

tokajac

Član broj: 93240
Poruke: 80
89.216.113.*



Profil

icon Re: Borland6 QuickReport QRSubDetail resize31.01.2008. u 12:08
Hvala na korisnom predlogu! Pogresno sam podcenio labelu. Pomocu niza labela i 2 while-a ispunim ceo izvestaj.

Evo postupka, mozda ce nekom zatrebati:

Postavim QRSubDetail2 na izvestaj

Code:

       int zaTop=10;
       .
       .
       TQRLabel *labelice[14];

       while
         {
           labelice[k] = (TQRLabel*) new TQRLabel(izv);
           labelice[k]->Parent = izv->QRSubDetail2;
           labelice[k]->Left = 457;
           labelice[k]->Top = zaTop;
           labelice[k]->Font->Size = 8;
           labelice[k]->Caption = StringZaIspis;

         zaTop += 10;
       }



Josh nedostaje inicijalizacija niza labela na proizvoljnu duzinu (DataModule2->DSIzv1->DataSet->RecNo javlja se error Constant expression required).


Pozdrav!
31.01.2008. u 12:08 

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Borland6 QuickReport QRSubDetail resize31.01.2008. u 12:56
Ako sam dobro razumeo, ti hoćeš da umesto STATIČKOG pretpostavljenog maksimalnog broja elemenata (u primeru je 14):
TQRLabel *labelice[14];
...imaš DINAMIČKI broj elemenata (DataModule2->DSIzv1->DataSet->RecNo).

VCL nudi TList klasu koja tu može pomoći, ali ja mislim da je STL vektor daleko fleksibilniji. Odnosno, nema šta tu da se misli.

Kako se prvi STL vektor std::vector<TQRLabel*>QRLabels, kako se dodaju elementi QRLabels.push_back(QRLabel_objekat), kako se elementima dodeljuju atributi (obavezno i Name da bi mogao kasnije da se lako vratiš na taj label) i sve ostale manipulacije sa tim dinamičkim nizom probaj da skapiraš iz ovog threada:
http://tinyurl.com/27t69m
... pri čemu najbolje pogledaj sve odgovore i rešenja koje je dao Remy Lebeau (Gambit).

Pozdrav.

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
31.01.2008. u 12:56 

[es] :: C++ programiranje :: Borland6 QuickReport QRSubDetail resize

[ Pregleda: 430 | Odgovora: 5 ]

Postavi temu Odgovori

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