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

Windows Forms Discussion :

[VB.NET] Impression d'une page d'étiquettes différentes les unes des autres


Sujet :

Windows Forms

  1. #1
    Membre expert
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Points : 3 218
    Points
    3 218
    Par défaut [VB.NET] Impression d'une page d'étiquettes différentes les unes des autres
    Bonjour,

    Je suis parvenue à agencer tous les éléments graphiques et textuels d'une page d'étiquettes à imprimer, en faisant une classe héritée de PrintDocument qui imprime 5 grandes étiquettes identiques à partir de l'enregistrement de la table de ma base de données Access.

    Dans l'immédiat, je fais correspondre le numéro de la rangée avec le numéro de la page à imprimer de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.rowNumber = Me.currentPage - 1
    ...et à la fin j'ai ceci pour déterminer s'il reste encore des pages à imprimer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                If (Me.currentPage < Me.totalPages) Then
                    e.HasMorePages = True
                    Me.currentPage = Me.currentPage + 1 
                    ' On incrémente le compteur
                Else
                    e.HasMorePages = False
                    Me.currentPage = 1
                End If
    Pour obtenir une pleine page je mets 5 étiquettes différentes, donc 5 rangées devront être lues (par exemple de 0 à 4 sur la page 1, de 5 à 9 sur la page 2, etc.). S'il y en a moins que 5, je devrai probablement faire un Exit For dans la boucle FOR.

    Mais je me demande comment je devrais gérer la boucle For pour qu'elle place 5 enregistrements de ma table dans une page avant d'incrémenter le Me.currentPage.

    De plus, d'après la magnifique documentation sur le sujet dans le cours VB.NET, je sais qu'une division entière renvoit un Integer, mais je voudrais savoir si le résultat d'une division entière est toujours arrondi à l'entier suivant ou s'il suit la règle que j'ai apprise à l'école sur l'arrondissement à l'unité près (arrondir 1.4 ou moins à 1.0 et arrondir 1.5 ou plus à 2)... Ce sera pour calculer le total des pages (il faut une page supplémentaire pour la ou les étiquettes restantes).

    Merci à l'avance. Et pardon si je ne suis pas assez précise, c'est un souci que j'ai depuis plusieurs jours déjà.
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    si tu connait le nombre d'enregistrement, le nombre de page est
    NbEnr \ 5 + CInt(IIf(NbEnr Mod 5 > 0, 1, 0))

  3. #3
    Membre expert
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Points : 3 218
    Points
    3 218
    Par défaut
    Citation Envoyé par bidou
    si tu connait le nombre d'enregistrement, le nombre de page est
    NbEnr \ 5 + CInt(IIf(NbEnr Mod 5 > 0, 1, 0))
    C'est bien IIf(ton code)? Je vais essayer, en plus du reste.

    Merci beaucoup!
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

  4. #4
    Membre expert
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Points : 3 218
    Points
    3 218
    Par défaut
    Merci, bidou! Pour le reste il ne me restera qu'à faire une boucle FOR
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

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

Discussions similaires

  1. Un code Jquery qui fonctionne sous une page HTML mais non pas une page XHTML
    Par élève_ingénieur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 10/07/2011, 00h34
  2. Affichage d'une page pendant le chargement d'une page
    Par johnson95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/08/2008, 14h21
  3. Réponses: 16
    Dernier message: 20/10/2007, 00h24
  4. lier une fonction ecrite en c++ avec une page.NET
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/02/2007, 18h04
  5. Réponses: 1
    Dernier message: 04/04/2006, 11h29

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