[ tokajac @ 30.01.2008. 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!
[ itf @ 30.01.2008. 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?
[ tokajac @ 30.01.2008. 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]
[ X Files @ 30.01.2008. 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.
[ tokajac @ 31.01.2008. 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!
[ X Files @ 31.01.2008. 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.