IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Mise en place de pagination manuelle (par programmation) dans un etat [WD25]


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Mise en place de pagination manuelle (par programmation) dans un etat
    Bonjour à tous

    Dans un projet on a décider d'implémenter un système de pagination manuelle par (programmation) dans un état (l'utilisateur peut choisir le début de la pagination).

    exemple: si l'utilisateur tape 3 alors la pagination de l'état commence par 3,4,5 etc...

    Voici la solution que j'ai trouvée mais qui marche pas correctement :

    Dans une zone de saisie, l'utilisateur rentre le numéro de début de page, dans le bouton de lancement de l'impression :

    Code wlangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    gnTest est un entier
     
    gnTest=SAI_NumeroDebutPage
    SI gnTest>0 ALORS
    gnTest=gnTest-1
    FIN
     
    iAperçu()
    iImprimeEtat(PAGEDEGARDE)

    Au niveau de l'état dans un champ libellé situé dans le bloc pied de page, j'ai le code suivant (Avant impression LIB_NumeroPage):
    Code wlangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SI iNumPage() > 0 ALORS
    	gnTest++
    LIB_NumeroPage=gnTest
    FIN

    Les problèmes que j'ai sont les suivants:
    1- Si l'utilisateur saisie 5 par exemple la pagination commence par 6,
    2- lors de l'aperçu l'incrémentation est est correcte 6,7,8,9 etc, mais l'impression sur papier la pagination est dérégler j'ai 14,17 etc.. je ne comprend pas

    Si quelqu'un connait un bout sur le sujet, il serait le bien venu !

    Merci à tous

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 943
    Points : 1 935
    Points
    1 935
    Par défaut
    Lors l'aperçu, la pagination se fait une fois. La valeur de ta dernière page est donc 9. Lorsque tu lances l'impression papier, le compteur n'est pas réinitialisé et donc continue la pagination soit 10,11,...

    Il faut donc qu'en fin d'impression tu réinitialises ta variable de pagination.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Lors l'aperçu, la pagination se fait une fois. La valeur de ta dernière page est donc 9. Lorsque tu lances l'impression papier, le compteur n'est pas réinitialisé et donc continue la pagination soit 10,11,...

    Il faut donc qu'en fin d'impression tu réinitialises ta variable de pagination.
    Bonjour PhilouZ

    je viens de mettre le code suivant dans le bloc fermeture de mon état !
    Code wlangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iRAZNbPages()
    Mais j'ai pas de changement je ne vois pas bien ou réinitialiser le compteur ?

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Ok je pense que je dois mettre ma variable gnTest à zéro pour la réinitialisation, reste à savoir ou je dois mettre ce bout de code
    j'ai essayer ça :

    Code wlangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    iAperçu()
    gnTest=0
    iImprimeEtat(PAGEDEGARDE)
    Mais pas changement, je continue de chercher
    Merci

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 943
    Points : 1 935
    Points
    1 935
    Par défaut
    comment s'appelle la variable qui fait la pagination ? Comment est-elle transmise à l'état ?
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    j'ai revu un peu tout le code :

    Citation Envoyé par philouZ Voir le message
    Comment est-elle transmise à l'état ?
    Ouverture de l'Etat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PROCÉDURE PAGEDEGARDE(gnNumeroPage est un entier sur 8 octets)
    Code du Bouton pour impression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    iAperçu()
    iImprimeEtat(PAGEDEGARDE,SAI_NumeroPage) // SAI_NumeroPage est un champ de saisie pour le numero de page
    Citation Envoyé par philouZ Voir le message
    comment s'appelle la variable qui fait la pagination ?
    Avant Impression Pied de Page de l'etat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI iNumPage() > 0 ALORS
    gnNumeroPage++
    LIB_NumeroPage =gnNumeroPage // LIB_NumeroPage est un champ libellé qui affiche le numéro de page (Au niveau du Pied de page)
    FIN

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 943
    Points : 1 935
    Points
    1 935
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Ouverture de l'état
    gnNumeroPageInit est entier = gnNumeroPage
    Je mettrais l'initialisation de ta pagination dans le bloc "Avant réimpression de l'état".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gnNumeroPage = gnNumeroPageInit
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Exactement le détail qui me manquait : initialisation de mon compteur .
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en place d'un scm dans mon pom
    Par MLK jr dans le forum Maven
    Réponses: 2
    Dernier message: 16/06/2008, 11h42
  2. [AJAX] Mise en place d'un réponse dans Ajax.Request via JSON
    Par polothentik dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/05/2008, 09h05
  3. Réponses: 12
    Dernier message: 13/11/2007, 09h52
  4. [VBA-E]Mise en place de 2 valeurs dans une meme cellule
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/08/2006, 15h06
  5. Réponses: 2
    Dernier message: 05/04/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo