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 :

Imprimer une table créée par ConstruitTableFichier [WD17]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2012
    Messages : 157
    Par défaut Imprimer une table créée par ConstruitTableFichier
    salut à tous
    comment Imprimer une table créée par ConstruitTableFichier()?

  2. #2
    Membre Expert Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 889
    Par défaut
    Citation Envoyé par hadaf Voir le message
    salut à tous
    comment Imprimer une table créée par ConstruitTableFichier()?
    Il faut créer un état sur table
    Quand tu es sur la fenêtre où figure la table, dans le menu "Insertion" / "Spécial" / "Bouton état sur table"

    En l'état cet état n'est pas fonctionnel puisqu'on ne peut pas savoir à l'avance les colonnes qui vont être créées par ConstruitTableFichier().

    Tu vas dans la description du tableau de l'état, sur la 1ère et seule colonne et assure toi qu'elle est de type texte.

    Sur la 1ère colonne on va y donner une largeur moyenne pour que toutes les colonnes entrent sur la largeur de l'état.
    Puis on va la cloner autant que la table à de colonne.
    Enfin on attribue le libellé d'entête et le cadrage des valeurs idem à la table d'origine (on ne peut pas récupérer le type puisque la propriété n'est pas disponible dans l'état).

    Dans l'état, clic bouton droit "Code de l'état"
    Dans la section de code "Ouverture de l'état" (pense d'adapter le code en fonction du nom de la fenêtre et de la table)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    gnNb_col est un entier = TableOccurrence(FEN_SansNom4.TABLE_SansNom1,toColonne)
    gnLargeur_totale est un entier = 170
    gnLargeur_moyenne est un entier = PartieEntière(gnLargeur_totale / gnNb_col)
    i est un entier
    nXLib,nYLib,nXRub,nYRub sont des entiers
    nYLib = LIB_COL_SansNom1..Y
    nXLib = LIB_COL_SansNom1..X + gnLargeur_moyenne
    nYRub = RUB_COL_SansNom1..Y
    nXRub = RUB_COL_SansNom1..X + gnLargeur_moyenne
    
    LIB_COL_SansNom1 = {"FEN_SansNom4.TABLE_SansNom1._COL1"}..Libellé
    LIB_COL_SansNom1..Largeur = gnLargeur_moyenne
    RUB_COL_SansNom1..Largeur = gnLargeur_moyenne
    RUB_COL_SansNom1..CadrageHorizontal = {"FEN_SansNom4.TABLE_SansNom1._COL1"}..CadrageHorizontal
    
    POUR i = 2 A gnNb_col
    	ChampClone(LIB_COL_SansNom1,"LIB_COL_SansNom"+i,nXLib,nYLib)
    	nXLib = {"LIB_COL_SansNom"+i}..X + gnLargeur_moyenne
    	{"LIB_COL_SansNom"+i} = {"FEN_SansNom4.TABLE_SansNom1._COL"+i}..Libellé
    	ChampClone(RUB_COL_SansNom1,"RUB_COL_SansNom"+i,nXRub,nYRub)
    	nXRub = {"RUB_COL_SansNom"+i}..X + gnLargeur_moyenne
    	{"RUB_COL_SansNom"+i}..CadrageHorizontal = {"FEN_SansNom4.TABLE_SansNom1._COL"+i}..CadrageHorizontal
    FIN
    Puis sur le bloc du corps, clic bouton droit "Code du bloc"
    Dans la section de code "Avant impression du corps" (pareil pense d'adapter le code en fonction du nom de la fenêtre et de la table)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR i = 1 A gnNb_col
    	{"RUB_COL_SansNom"+i} = {"FEN_SansNom4.TABLE_SansNom1._COL"+i}
    FIN

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 45
    Par défaut
    Bonjour

    Nous venons à l'instant de publier un composant permettant l'impression des tables. Une ligne de code permet d'imprimer n'importe quelle table, y compris donc celles créées par ConstruitTableFichier (qui a été principalement utilisé durant nos tests).

    Il s'appelle clapPrint et est disponible en téléchargement sur notre site.

    Espérant que ça réponde à votre besoin.

    Bon dev.

  4. #4
    Membre Expert Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 889
    Par défaut
    Beaucoup plus simple que ce que j'ai proposé hier soir avec la fonction TableImprime()

    Il suffit de placer ce code dans un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Spécification des paramètres d'impression : 
    // avec aperçu, en mode paysage
    iAperçu(i100)
    iParamètre(iOrientation, iOrientation_Paysage)
     
    // Impression de la table, sans la date et avec le nombre de pages
    TableImprime(TABLE_SansNom1)

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2012
    Messages : 157
    Par défaut
    Merci Mr laurent30s
    voilà c'est très simple
    je voulais te montrer le code mais tu la publié avant moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Spécification des paramètres d'impression : 
    // avec aperçu, en mode paysage
    iAperçu(i100)
    iParamètre(iOrientation, iOrientation_Paysage)
     
    // Impression de la table, sans la date et avec le nombre de pages
    TableImprime(TABLE_SansNom1)
    EDIT :
    une petite remarque concernant les tables sur windev
    *l'ajout des colonnes se fait toujours à droite est ce que je peux le changer à gauche ?
    -est ce que je peux déplacer une colonne à droite (je parle d'une table créée par ConstruitTableFichier())?
    *

  6. #6
    Membre Expert Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 889
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -est ce que je peux déplacer une colonne à droite (je parle d'une table créée par ConstruitTableFichier())?
    Tu peux déplacer les colonnes avec
    TableDéplaceColonne(<Nom de la table> , <Nom de la colonne> , <Indice de la colonne destination>)

    Penses que les colonnes créées par ConstruitTableFichier() portent les noms "_COL1", "_COL2", "_COL3", etc...

  7. #7
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2012
    Messages : 157
    Par défaut
    je sais que TableDéplaceColonne() déplace les colonnes mais si en veut qu'une colonne reste toujours a droite

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2011, 15h04
  2. Je n'arrive pas à supprimer une Table créée par VBA
    Par ac264 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/02/2010, 10h55
  3. Réponses: 4
    Dernier message: 24/07/2007, 12h12
  4. [REQUETE] Configuration de la table créée par une requete
    Par NiKoTiNe dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/05/2007, 08h37
  5. Inersert dans une table crée par les cardinalités [*,*]
    Par drasalmed dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2007, 18h27

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