|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Étudiant Inscription : avril 2011 Messages : 49 ![]() |
Bonjour à tous,
Je souhaiterai savoir s'il est possible d'afficher une page d'un report en fonction d'un critères (paramètres, variables par exemple). Je m'explique. Imaginons que j'ai une requête qui me renvoi une liste croissante de X entiers naturels allant de 1 à 3. Je peux donc avoir comme résultat de requete: - 1 2 3 - 1 2 - 1 - [...] etc... Ma page numéro 1 affiche le résultat de la requete. Maintenant je voudrais fixer un critère pour afficher les pages suivantes. Pour illustrer ce que je veut grossièrement : Code :
Merci d'avance de votre réponse ! |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
Bonjour,
Si on considère que le critère de définition de la page n'est PAS le numéro de page, c'est très simple, ça se résume à définir le même critère de visibilité sur tous les éléments de la même page, puis contrôler ce critère via les paramètres. Si tu dois le faire sur le numéro de page, ça risque d'être beaucoup plus compliqué. Ca va probablement être du javascrit dans les méthodes "after render", avec un compteur incrémenté à chaque page break, etc... Mais on verra plus tard. A toi de voir ce dont tu as besoin. |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Étudiant Inscription : avril 2011 Messages : 49 ![]() |
Bonjour,
En fait je peux le faire de deux méthodes je pense. Le résultat sera le même. En théorie, j'ai parlé de plusieurs combinaisons possibles de ma liste mais il se trouve qu'il n'y a que "l'apparition" du 3 qui va varier. Si la requete renvoi "1 2 3" alors j'affiche toutes les pages déjà faites, c'est à dire 2 pages par numéro (soit 6 pages). Si elle renvoi "1 2", j'affiche seulement les 2 pages du numéro 1 et 2 (soit 4 pages) et je passe directement à la suite des pages de mon report sans avoir 2 pages vides. Du coup, tu me conseillerai quelle méthode ? Apparemment, plutot la première mais il se trouve que je n'ai aucune idée de comment procéder. Merci d'avance du coup de main |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
Bonjour,
Il y a une limite à ce que j'ai dit : si tes pages 5 et 6 contiennent, disons, des lignes d'un tableau qui a commencé à la page 4, ça va être beaucoup plus compliqué. Mais, si sur tes pages 5 et 6 tu n'as que des éléments indépendants (c'est à dire complètement contenus dans ces deux pages), alors tout ce que tu as à faire, c'est définir un paramètre ou une variable d'état, de type booléen, qui correspondra au critère d'affichage de tes pages ; et enfin, d'aller dans les propriétés de visibilité de tous les éléments constituant tes pages 5 et 6, et associer leur visibilité à ton paramètre booléen. Sachant que tu as une astuce pour te faciliter la tache : définir une grille contenant une ou deux cellules, qui contiendra l'ensemble de tes éléments de page 5 et 6, et sur laquelle tu définis le critère de visibilité (comme ça tu n'as pas à le faire pour tous tes éléments). Techniquement, ça va dépendre de la nature de la "requête" dont tu as parlé avant. De quoi s'agit-il ? une requête SQL alimentant un data set ? Un paramètre valorisé par l'utilisateur au lancement de l'état ? Autre chose ? |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Étudiant Inscription : avril 2011 Messages : 49 ![]() |
Non je te rassure ta technique marche sans problème : je viens de réussir
![]() J'ai tout simplement utilisé le critère visibility (que je connaissais pas). A chaque fois, ma requête renvoi soit 2 soit 3 résultats ("1 2 3" ou "1 2"). Je lui ai donc dit que si tu ne trouve rien à la ligne 3 de la requête (=null) alors tu cache la page. Rien de bien compliqué, j'ai du réinitialiser mon paramètre à null au début de la troisième page sinon il m'affichait le titre de la page. En tout cas merci à toi |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com