|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Bonjour,
Je cherche à récupérer le numéro de ligne de mes headers dans mon tableau de cette façon : HEADER (ligne 1) ----Detail ----Detail ----Detail HEADER (ligne 2) Donc pour le premier header je veux le numéro 1, le second le numéro deux etc ... J'avais trouvé un post ici traitant un problème similaire mais ça ne marchait pas dans mon cas (et je ne retrouve plus le post en question). Bonne journée, -- Marie |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
Je ne comprends absolument pas ton problème. As-tu un cas concret ? |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Je vais mieux expliquer mon problème.
J'affiche des données regroupées par année puis par mois. Donc : Année x -- Mois 1 -- Mois 2 Année x+1 ... J'ai un premier groupe année et un second mois. Dans mon exemple si je récupère le numéro de ligne de Année x+1 ça va me donner 4 alors que moi je voudrais avoir 2 car c'est la seconde année :p Si c'est toujours pas clair je peux mettre un exemple. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
En pièce jointe un rapport avec 3 groupes. Dans le dernier groupe je veux afficher le numéro de chaque ville (1, 2, 3 ...).
Là vous verrez qu'à un moment ça se décale à cause des détails. |
|
|
00
|
|
|
#5 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Voici la solution que je te propose.
Tu crées une variable de rapport (VarGroupYear par exemple) dont la valeur par défaut est 0. Dans le script onCreate du groupe concerné (ByYear par exemple), tu incrémentes cette variable : Puis tu peux utiliser cette variable dans l'entête de ton groupe, elle s'incrémentera automatiquement. Tu répètes la même opération pour tes sous-groupes avec une autre variable. |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Et bien c'est ce que j'étais en train d'essayer de faire mais j'ai un problème justement. Voir le document ci-joint.
Comme vous dites j'incrémente une variable dans le onCreate de mon 3ème groupe CITY (pour reprendre mon exemple). Dans le onCreate de mon se cond je remets cette variable à 1 pour recommencer le compte mais ça ne fonctionne qu'à partir de la seconde ligne ^^ Regardez l'exemple ce sera plus simple. Y'a deux scripts dans les headers - Groupe 2 onCreate - Groupe 3 onCreate |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
En mettant le code du Groupe 2 Header onCreate dans le Groupe 2 Footer onCreate ça fonctionne comme je veux.
Merci, |
|
|
00
|
|
|
#8 | ||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Effectivement, j'ai oublié de réinitialisé la variable à chaque groupe parent.
En fait, pour résumer, il te faut (pour l'exemple ci-dessus) :
|
||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Non ça ne marchera pas comme ça. En mettant la ré-initialisation des variables dans le onCreate des en-têtes ça ne fonctionne pas. C'est dans le onCreate des pieds de page qu'il faut mettre la ré-initialisation. (le deuxième rapport que j'ai mis dans mes posts montre que ça ne fonctionne pas avec le onCreate dans les en-têtes).
|
|
|
00
|
|
|
#10 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
C'est un effet de bord alors, tu as dû te mettre au mauvais niveau. Je parle bien du script onCreate des entêtes de groupe et non des entêtes de page ou de tableau...
Le fonctionnement sera cependant le même à partir d'un pied de groupe. |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Je suis d'accord que ça devrait avoir le même résultat (en tête ou pied de page) mais ce n'est pas le cas. Ci-joint en faisant comme vous dites on remarque que le numéro des lignes n'est pas correct :
USA -- CA ----- VILLE a (ligne 1) ----- VILLE b (ligne 2) ----- VILLE c (ligne 3) -- CT ----- VILLE d (ligne 4) ----- VILLE e (ligne 2) ----- VILLE f (ligne 3) ----- VILLE g (ligne 4) -- MA ----- VILLE h (ligne 5) ----- VILLE i (ligne 2) ----- VILLE j (ligne 3) la première ligne de chaque début de groupe est mauvais. Alors qu'en mettant le code dans le pied de page il est correct. C'est bizarre. Dans le cas des Mois / Années ça voudrait dire que onCreate de année est appelé après le premier onCreate de mois -- Marie |
|
|
00
|
|
|
#12 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Ok, c'est un effet de bord. A cause de ton aggregation.
Personnellement, en reprenant le rapport joint, j'ai enlevé dans le binding de la table city_num et city_num_data. J'ai enlevé dans le tableau l'affichage de city_num_data. Et j'ai glissé déposé la variable. Ca fonctionne mieux. Par contre, il faut initialiser à 0 et non à 1 puisqu'on fait l'incrémentation avant l'affichage. |
|
|
10
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Ca marche merci.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com