|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() ![]() Inscription : février 2005 Messages : 34 ![]() |
Salut à tous,
J'utilise BIRT depuis pas mal de temps (+/-6 mois) et j'ai utilisé JasperReport avant cela. Je suis face à un soucis, je m'interroge sur la faisabilité de rendre dynamique le nombre de colonne d'un tableau en fonction d'un attribut d'une variable quelconque. Je m'explique, je dois faire un rapport avec plusieurs tableaux qui se répètent en fonction d'une grappe d'objet java que je passe en paramètre à BIRT lors de la génération du PDF. Ma grappe d'objet contient donc différentes listes d'objet et en fonction du type d'objet dans chacune de listes, certains tableaux ont 1 colonne, 2 colonnes ou 3 colonnes. Le nombre de tableau est dynamique car il dépend du nombre de listes dans la liste... Oui vous avez bien lu... Il y a des listes de listes et ça ne pose pas de problème à BIRT. Il faut insérer un tableau dans un autre, chacun son dataset (scripted dans mon cas) et BIRT génère autant de tableau qu'il y a de liste dans la liste principale ! Mon soucis est que je voudrai qu'en plus, dans certains cas il y ai 1, 2 ou 3 colonnes en fonction par exemple d'une propriété d'un élément de la liste courante ou en fonction du type d'élément qu'on trouve dans la liste. Je pense avoir été assez lourd euh assez clair... J'espère que c'est faisable sinon il faudra contourner le problème avec des solutions moins propres ou modifier mon besoin... Toutes solutions ou pistes est bonne a prendre... On peut chercher du coté de la fonctionnalité visibility ou en utilisant des modulos mais vous avez cartes blanche !!! Merci par avance, |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
J'ai plusieurs états qui ont un fonctionnement similaire (des colonnes falcutatives et dont le titre ou un booléen (de visibilité) est passé en paramètre). Pour qu'elles n'apparaissent pas, tu sélectionnes ta colonne dans le designer, dans le property editor, tu vas dans la section (in)visibility, tu coches Hide (Masquer) et tu mets en condition :
Tu peux aussi le faire en fonction d'une ligne d'un dataset dans le cas de plusieurs datasets imbriqués. Au lieu de params["tonParametre"], tu mets row._outer["tonChamp"]. Voilà, j'espère que tu as compris le fonctionnement PS : C'est quasi un copier/coller de ça : http://www.developpez.net/forums/sho...d.php?t=325483 ... mais tu ne pouvais pas le trouver comme ça |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() ![]() Inscription : février 2005 Messages : 34 ![]() |
Merci de cette réponse ultra rapide !!! On voit que ce forum est très bien (entre)tenu !
Donc on se dirige plus vers l'utilisation du visibility que vers du crosstab et c'est tant mieux car la 2.2RC0 n'a pas l'air de fonctionner apparement... Quand je lance eclipse birt 2.2RC0 même en -clean je n'ai pas de plugin BIRT apparement dans l'interface d'Eclipse donc ca me paraissait compromis les crosstabs... pour le moment ! Par contre, j'avais déjà testé la fonctionnalité visibility et j'avais de grosses différences de rendu entre l'HTML et le PDF. En PDF, l'élément était bien invisible mais l'espace d'affichage n'était pas récupéré... Ca laissait une zone vide et blanche plus ou moins grande en fonction de l'humeur de BIRT. Et pour les colonnes, je crois même que ca ne fonctionnait pas. La colonne était vide mais bien présente, on ne récupérait pas l'espace... Après en 6 mois, il y a de fortes chances que les choses se soient améliorées... Merci encore pour la piste, c'est bon de se sentir (sous)tenu ! |
|
|
00
|
|
|
#4 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Il faut que tu cherches dans les styles pour éviter la zone blanche quand tu rend une colonne invisible
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com