|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 11 ![]() |
Bonjour,
Ancien développeur mainframe, je suis actuellement en cours de reconversion J2EE et commence par un projet avec BIRT. Dans ce cadre, je dois réaliser un état comportant une table apparaissant sur une page en trois partie , chaque 1/3 affichant la suite du dataset (cf pièce jointe). Je planche actuellement sur une solution créant 3 tables, chacune lisant 1 enregistrement sur 3 de mon dataset (où 3 datasets lisant chacun 1 enregistrement sur 3 de ma BD). Cependant, je me demandais s'il n'existait pas une solution plus simple, notamment une option prévue par BIRT. Merci pour votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
Je crois que cela revient exactement au problème suivant : http://www.developpez.net/forums/sho...d.php?t=176415 Il n'y a donc pas de solution native dans BIRT mais une petite bidouille résout le problème assez simplement. C'est un peu embêtant quand même... PS pour la bidouille : Sans créer une colonne ID, il y a automatiquement une colonne rownum ou quelquechose comme ca dans BIRT. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 11 ![]() |
J'avais effectivement vu cette discussion et y avait également pensé.
Mais mon problème est légèrement différent Hors je ne sais pas comment récupéré ce dernier. Aurais tu une astuce la-dessus ? En tout cas merci pour ta réponse précédente |
|
|
00
|
|
|
#4 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Ah, je vois
Total.count() permet de compter le nombre de lignes du DataSet. A partir de ça, tu peux regarder si tu es dans le premier, deuxième ou troisième tiers. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 11 ![]() |
Malheureusement, la solution que tu me proposes suppose que l'enregistrement précédent le 1er enregistrement du tableau 2 sur la 1ere page soit le dernier enregistrement du tableau 1 sur la dernière page, alors que dans mon exemple, il s'agit du dernier enregistrement du tableau 1 de la première page.
Le tableau 1 de la seconde page commence alors par l'enregistrement suivant le dernier enregistrement du dernier tableau de la première page .Pour que ce soit plus clair, j'ai remis à jour mon exemple en y ajoutant une page. Cependant, j'ai tout de même résolu mon problème grâce notamment aux idées que tu m'a fourni .Voici donc la solution pour ceux qui serait intéressés : "1 - Dans chacune des tables (3 dans mon exemple sur le même dataset), déclarez un Binding « No_Enreg » égal à : Total.runningCount()-1 Total.runningCount() donne le n° d'enregistrement dans le dataset (merci BiM) et la soustraction permet de supprimer un problème liés aux intervales. 2 - Ajoutez dans ces mêmes tables un group sur la nouvelle donnée « No_Enreg » en indiquant un interval correspondant au nombre d'enregistrements devant figurer dans chaque page (39 dans mon cas) et un Page Break After à "Always". 3 - Dans chacune de ces tables, déclarez un Binding « No_Enreg_Page » égal à : No_Enreg%39 Ce qui correspond à : ("N° d'enregistrement dans le dataset" - 1) Modulo "nb d'enreg dans la page" Cette formule permet d'obtenir le numéro d'enregistrement dans la page. 4 - Pour chaque table, sélectionnez l'enregistrement détail, allez sur les properties , puis sur l'onglet Visibility. Cochez "Hide Element" et indiquez dans Expression les N° d’enregistrement ne devant pas être affichez. Dans mons cas j'ai : Enreg détail Tableau 1 (Le N° d’enreg commence à 0 on cache donc à partir du 13ème enregistrement du dataset) : row["No_Enreg_Page"] >= 13 Enreg détail Tableau 2 (On cache les enregistrements 1 à 12 et à partir de 26) : row["No_Enreg_Page"] < 13 || row["No_Enreg_Page"] >= 26 Enreg détail Tableau 3 (On cache les enregistrements 0 à 25): row["No_Enreg_Page"] < 26 Et voilà, encore merci à BiM grâce à qui j’ai pu trouver la solution.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com